Updates an expense report. When the action query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (name, comment, customFields, expenseRecords, and status with voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate); any other fields in the request body are silently ignored.
status is first compared with the report’s current status, case insensitive. A status equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged status (or only read-only fields, or only empty customFields or expenseRecords) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES.
When status differs from the current one, the report is moved to that status the same way action=setStatus does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different status that is not accepted was silently ignored; it is now rejected. A status that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave status out of the body unless the report should be moved.
voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate are only applied together with a status change. Sending them without status is answered with 400 INVALID_PARAMETER, and so is sending them with a status equal to the current one; use action=setStatus to change them on a report that is already in the target status. The GET response doesn’t contain these fields (it returns sent, paid and externalVoucherNumber instead), so they don’t block sending a report read with GET back unchanged. Returning the report to its owner (messageText, returnToUser) is only available through action=setStatus; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (/partners/{partnerId}/reports/{reportId}) status and these fields are still ignored.
moveToNextStep moves a report that is in TRANSFER or TRANSFER_TO_RECIPIENT to the next step of its send chain: to the next recipient, or to SENT when the chain is complete. forwardToApprovalOrBooking forwards a report that is ON_HOLD back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization.
sendReminder reminds the owner of the report about it, and takes { "message": "..." } as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.
Unique identifier of the organization. String in UUID without dashes (32-character hex string) if access is done via values from Findity system otherwise, id of external system can be used
Action to perform on the expense report instead of a field update. String, enum. Optional. Accepted values: reviewOk, clearTransactions, approve, reject, simulateBilling, sendReminder, setStatus, moveToNextStep, forwardToApprovalOrBooking, deleteExternalVoucherInfo.
approve and reject submit an approval decision for the report's approval chain and require a request body holding approvalChainId. approve carries the per record decisions, so partial approvals are supported; reject rejects every expense record of the report unless explicit records are supplied.
simulateBilling assigns a generated billing file reference to the report and to its card transactions, sets the due date to tomorrow and renames the report. It requires the adminApiExpenseReports:updateExpenseReport-simulateBilling permission and is intended as a developer and support tool.
sendReminder reminds the owner of the report about it and takes an optional message in the request body. It requires the adminApiExpenseReports:updateExpenseReport-sendReminder permission, and only reports that carry an invoice reference can be reminded.
setStatus moves the report to the status given in the request body. It is deprecated for plain status changes: send status in a field update (without action) instead, which does the same. It is still the way to return a report to its owner with messageText or returnToUser, and to set voucherNumber, errorText, bookingDate, sentToBookingDate or paidDate on a report that is already in the target status, for example to correct the voucher number of a SENT report or the paid date of a PAID report; a field update rejects these fields when status is unchanged. Changing the status of several reports at once, and moving reports to another recipient, is a separate operation: PUT /organizations/{organizationId}/reports?action=setStatus.
deleteExternalVoucherInfo is deprecated and will be removed in a later release; use DELETE /organizations/{organizationId}/reports/{reportId}/externalvoucher instead, with recipientId as a query parameter instead of in the body. Until then it does the same as that endpoint and needs the same rights to modify reports, but answers 200 with the report. It clears the external voucher reference from the report and from every expense record in it. With recipientId in the request body, and if the report has a send chain, the voucher numbers of that recipient's step are cleared as well and a change log entry is written. A recipient of another organization is answered with 400 and nothing is cleared.
moveToNextStep and forwardToApprovalOrBooking advance the report in its send chain. Both are restricted to the developer role and answer 403 for anyone else. Use PUT /organizations/{organizationId}/reports?action=moveToNextStep to advance several reports at once.
Available options:
reviewOk,
clearTransactions,
approve,
reject,
simulateBilling,
sendReminder,
setStatus,
moveToNextStep,
forwardToApprovalOrBooking,
deleteExternalVoucherInfo
Body
application/json
Option 1
Option 2
Option 3
Fields that can be updated on an expense report. status and the fields used together with it (voucherNumber, errorText, bookingDate, sentToBookingDate, paidDate) are applied in a field update and with action=setStatus, and ignored with any other action. Any other fields in the request body are silently ignored.
Comment on the expense report. String, unlimited characters. When action=approve or action=reject is used, this is instead stored as the comment on the approval decision.
Target lifecycle status of the report, case insensitive. String. Required when action=setStatus; in a field update it is optional and moves the report to this status the same way action=setStatus does. It is first compared with the current status: when it is equal it is ignored, whatever the status is, and the fields used together with it are rejected with 400 INVALID_PARAMETER. Ignored with any other action. Accepted values for a change are NEW, NORMAL, READY_TO_SEND, SENT and PAID; any other value, known lifecycle status or not, is rejected with 400 INVALID_PARAMETER, since the remaining statuses are reached through their own processing. The transition itself is not validated - the report is moved to the given status whatever its current one is, so the caller decides what makes sense.
External voucher number to store on the report and its expense records. String, unlimited characters. Optional, only used together with a status change.
Error information to store on the report; the previous error status is cleared first. String, unlimited characters. Optional, only used together with a status change.
Accounting booking date of the report, the date the report is booked on. Stored on the report itself and used when reports are exported and sorted by booking date. String, date-time format yyyy-MM-dd'T'HH:mm:ss with Z, ±hh:mm or ±hhmm and optional fractions of a second; a value that can't be parsed, such as a date without a time, is not rejected but treated as omitted. Optional, only used together with a status change for the SENT and PAID statuses. When omitted it defaults to the current time: always on a move to SENT, and on a move to PAID only when the report has no booking date yet.
Date the report was handed over to booking. Stored separately from bookingDate and passed on to the integration in the send chain payload. String, date-time format, parsed like bookingDate. Optional, only used together with a status change for the SENT and PAID statuses, and an omitted or unparseable value defaults the same way as for bookingDate.
Paid date to store on the report. String, date-time format, parsed like bookingDate. Optional, only used together with a status change for the PAID status; an omitted or unparseable value defaults to the current time.
Message sent to the report owner when the report is returned to the user. String, unlimited characters. Optional, only used with action=setStatus; sending it in a field update is answered with 400 INVALID_PARAMETER. Supplying it is enough to treat the change as a return to the owner when the target status is NEW or NORMAL, returnToUser does not have to be set as well.
Marks the status change as a return to the report owner. Boolean. Optional, only used with action=setStatus; sending it in a field update is answered with 400 INVALID_PARAMETER. Set it to notify the owner for any target status, or when moving to NEW or NORMAL without a messageText. It is redundant when messageText is given together with the NEW or NORMAL status, which already counts as a return.
Id of the approval chain the decision applies to. String, UUID format (32-character hex). Required when action=approve or action=reject, ignored otherwise. Must belong to the report in the path.
Expense records to reject. Array of objects, optional. Only used with action=approve or action=reject. Every record of the report that is not listed here is approved, so an omitted or empty list approves the whole report; with action=reject an omitted list rejects every record of the report.
Ids of the approvers to use for the next approval step. Array of strings, optional. Only relevant for action=approve when the approval section requires next step approvers to be chosen; the ids must be approver candidates of the next approval step.
Id of an approver. String, UUID format (32-character hex).
The latest direct message of the report, used for the message icon in the report list. Always returned when the report has a message, omitted otherwise. Use the 'meta.messages' include to get the report's messages (on the single-report endpoints only the messages sent to the report owner).
Validation errors of the report and of its expenses (included when 'validationErrors' is in include parameter). Errors on an expense carry the expenseRecordId of that expense; errors on the report itself have no expenseRecordId.
Whether the calling user may approve or reject this report, as the current approver or as a report/organization administrator when both the client application and the organization allow report/organization administrators to approve. Never true for the caller's own report unless the caller is the current approver. Only evaluated for a report with a single approval chain that has one active step, no incorrect approval chains and no pending next step approver selection (see currentApproverInfo.approvalChainId); otherwise false (included when 'approvalChain' is in include parameter)
Whether an approver for the next approval step has to be selected before the report can be approved. Only present for reports in status APPROVAL (included when 'approvalChain' is in include parameter)
The approval chain ID. Set when the report has exactly one approval chain with one active step, also when the caller may approve as an administrator without being one of the step's approvers. Not set when hasIncorrectApprovalChains or requiresNextStepApproverSelection is true. Send it as approvalChainId when approving or rejecting the report.
Full name of the current approver, or of the temporary approver when one is set for the step. When the step has several approvers, only set if the calling user is one of them (it is then the caller's own name).
Email address of the current approver, or of the temporary approver when one is set for the step. When the step has several approvers, only set if the calling user is one of them (it is then the caller's own email).
Status of this step in the chain. The step a report is currently waiting on is the one with the lowest sortOrder among the steps still in TRANSFER_TO_RECIPIENT, which is what the recipientId filter matches on.
The report's dimension values keyed by the dimension's description. A dimension with one value holds that value, a dimension with several values holds a list of them. Only computed from the report's custom fields in the organization level list, when the requested statuses include REVIEW, APPROVAL or READY_TO_SEND; otherwise the value stored on the report is returned (normally null).
AI review guidance for the report, produced by the Controller agent and rolled up from the verdicts on the report's expenses. Only present when 'meta.autoApproval' is in the include parameter, the feature is enabled for the organization, and the agent has reached a verdict for every expense in the report.
The verdict for the whole report. APPROVED means the report is low risk and needs no manual attention. REJECTED means at least one of its expenses was flagged and the report needs manual review - no rejection has taken place and the report's own status is unaffected. The two values match the per-expense verdict the expense API already exposes under meta.autoApproval, so a client can use one mapping for both. A report the agent has not finished with is omitted entirely rather than reported as pending.
Why the agent reached that verdict, in the same wording the approver app shows the end user and already translated for the caller's locale. For REJECTED these are the deviations found on the report's expenses, de-duplicated across them and ordered by reason code. For APPROVED these are the checks that came back clean. Omitted when there is nothing to show, so a REJECTED report can arrive without it.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Findity Docs","colors":{"primary":"#012A2D","light":"#3FA9A5","dark":"#012A2D"},"logo":{"light":"https://mintcdn.com/findity-docs/fTsgC-3N_Y6D9oSZ/images/logo/light.avif?fit=max\u0026auto=format\u0026n=fTsgC-3N_Y6D9oSZ\u0026q=85\u0026s=b7bba7599b80f1ac5c6454a26179858b","dark":"https://mintcdn.com/findity-docs/fTsgC-3N_Y6D9oSZ/images/logo/dark.png?fit=max\u0026auto=format\u0026n=fTsgC-3N_Y6D9oSZ\u0026q=85\u0026s=c71abcb6039e30c762becf2a8475a335","href":"/"},"favicon":"https://mintcdn.com/findity-docs/fTsgC-3N_Y6D9oSZ/images/logo/favicon.jpeg?fit=max\u0026auto=format\u0026n=fTsgC-3N_Y6D9oSZ\u0026q=85\u0026s=b3050e03fc057e3744a2a9765f87aa39","api":{"params":{"expanded":"all"},"playground":{"display":"interactive","credentials":true},"examples":{"prefill":true}},"appearance":{"default":"light","strict":true},"navbar":{"links":[]},"seo":{"metatags":{"robots":"noindex"}},"fonts":{"heading":{"family":"Montserrat","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","assistant","add-mcp","vscode"],"display":"toc"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"findity-docs","hasAudioNarration":false,"actualSubdomain":"findity-docs","customDomains":["developer.findity.com"],"gitSource":{"type":"gitlab","owner":"findity/ce","repo":"api-documentation","deployBranch":"main","contentDirectory":"api-docs","isPrivate":true,"projectId":85772420,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af330ce8cd3285add67bf89","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":268},{"language":"default","tag":"Findity Admin API","count":112},{"language":"default","tag":"Findity Expense API","count":91},{"language":"default","tag":"Guides","count":53},{"language":"default","tag":"Findity Admin API V0","count":52},{"language":"default","tag":"Organizations","count":51},{"language":"default","tag":"Dimensions","count":21},{"language":"default","tag":"Expense Reports","count":20},{"language":"default","tag":"User","count":16},{"language":"default","tag":"Carbon emissions","count":15}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":".tabs{margin-top:20px;border:1px solid rgb(var(--default-border-color));padding:2px 6px 6px;border-radius:4px}#sidebar,#sidebar-content{width:20rem!important;max-width:20rem!important;min-width:20rem!important}#body-content{grid-template-columns:20rem 1fr!important}ul[role=\"tablist\"][data-component-part=\"tabs-list\"]{flex-wrap:wrap;overflow:visible;row-gap:0.5rem}.mdx-content .frame img{max-height:700px}.chat-assistant-input,#chat-assistant-textarea{color:#012a2d!important}.chat-assistant-input::placeholder,#chat-assistant-textarea::placeholder{color:#012a2d!important;opacity:1}"}],"page":{"pagePath":"reference/admin/expense-reports/update-expense-report-for-organization","slug":"/reference/admin/expense-reports/update-expense-report-for-organization","pageMetadata":{"title":"Update expense report for organization","description":"Updates an expense report. When the `action` query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (`name`, `comment`, `customFields`, `expenseRecords`, and `status` with `voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate` and `paidDate`); any other fields in the request body are silently ignored.\n`status` is first compared with the report's current status, case insensitive. A `status` equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged `status` (or only read-only fields, or only empty `customFields` or `expenseRecords`) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES.\nWhen `status` differs from the current one, the report is moved to that status the same way `action=setStatus` does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different `status` that is not accepted was silently ignored; it is now rejected. A `status` that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave `status` out of the body unless the report should be moved.\n`voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate` and `paidDate` are only applied together with a status change. Sending them without `status` is answered with 400 INVALID_PARAMETER, and so is sending them with a `status` equal to the current one; use `action=setStatus` to change them on a report that is already in the target status. The GET response doesn't contain these fields (it returns `sent`, `paid` and `externalVoucherNumber` instead), so they don't block sending a report read with GET back unchanged. Returning the report to its owner (`messageText`, `returnToUser`) is only available through `action=setStatus`; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (`/partners/{partnerId}/reports/{reportId}`) `status` and these fields are still ignored.\n`moveToNextStep` moves a report that is in `TRANSFER` or `TRANSFER_TO_RECIPIENT` to the next step of its send chain: to the next recipient, or to `SENT` when the chain is complete. `forwardToApprovalOrBooking` forwards a report that is `ON_HOLD` back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization.\n`sendReminder` reminds the owner of the report about it, and takes `{ \"message\": \"...\" }` as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\n","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/reports/{reportId}","href":"/reference/admin/expense-reports/update-expense-report-for-organization","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Updates an expense report. When the \", _jsx(_components.code, {\n children: \"action\"\n }), \" query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (\", _jsx(_components.code, {\n children: \"name\"\n }), \", \", _jsx(_components.code, {\n children: \"comment\"\n }), \", \", _jsx(_components.code, {\n children: \"customFields\"\n }), \", \", _jsx(_components.code, {\n children: \"expenseRecords\"\n }), \", and \", _jsx(_components.code, {\n children: \"status\"\n }), \" with \", _jsx(_components.code, {\n children: \"voucherNumber\"\n }), \", \", _jsx(_components.code, {\n children: \"errorText\"\n }), \", \", _jsx(_components.code, {\n children: \"bookingDate\"\n }), \", \", _jsx(_components.code, {\n children: \"sentToBookingDate\"\n }), \" and \", _jsx(_components.code, {\n children: \"paidDate\"\n }), \"); any other fields in the request body are silently ignored.\\n\", _jsx(_components.code, {\n children: \"status\"\n }), \" is first compared with the report’s current status, case insensitive. A \", _jsx(_components.code, {\n children: \"status\"\n }), \" equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged \", _jsx(_components.code, {\n children: \"status\"\n }), \" (or only read-only fields, or only empty \", _jsx(_components.code, {\n children: \"customFields\"\n }), \" or \", _jsx(_components.code, {\n children: \"expenseRecords\"\n }), \") has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES.\\nWhen \", _jsx(_components.code, {\n children: \"status\"\n }), \" differs from the current one, the report is moved to that status the same way \", _jsx(_components.code, {\n children: \"action=setStatus\"\n }), \" does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different \", _jsx(_components.code, {\n children: \"status\"\n }), \" that is not accepted was silently ignored; it is now rejected. A \", _jsx(_components.code, {\n children: \"status\"\n }), \" that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave \", _jsx(_components.code, {\n children: \"status\"\n }), \" out of the body unless the report should be moved.\\n\", _jsx(_components.code, {\n children: \"voucherNumber\"\n }), \", \", _jsx(_components.code, {\n children: \"errorText\"\n }), \", \", _jsx(_components.code, {\n children: \"bookingDate\"\n }), \", \", _jsx(_components.code, {\n children: \"sentToBookingDate\"\n }), \" and \", _jsx(_components.code, {\n children: \"paidDate\"\n }), \" are only applied together with a status change. Sending them without \", _jsx(_components.code, {\n children: \"status\"\n }), \" is answered with 400 INVALID_PARAMETER, and so is sending them with a \", _jsx(_components.code, {\n children: \"status\"\n }), \" equal to the current one; use \", _jsx(_components.code, {\n children: \"action=setStatus\"\n }), \" to change them on a report that is already in the target status. The GET response doesn’t contain these fields (it returns \", _jsx(_components.code, {\n children: \"sent\"\n }), \", \", _jsx(_components.code, {\n children: \"paid\"\n }), \" and \", _jsx(_components.code, {\n children: \"externalVoucherNumber\"\n }), \" instead), so they don’t block sending a report read with GET back unchanged. Returning the report to its owner (\", _jsx(_components.code, {\n children: \"messageText\"\n }), \", \", _jsx(_components.code, {\n children: \"returnToUser\"\n }), \") is only available through \", _jsx(_components.code, {\n children: \"action=setStatus\"\n }), \"; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (\", _jsx(_components.code, {\n children: \"/partners/{partnerId}/reports/{reportId}\"\n }), \") \", _jsx(_components.code, {\n children: \"status\"\n }), \" and these fields are still ignored.\\n\", _jsx(_components.code, {\n children: \"moveToNextStep\"\n }), \" moves a report that is in \", _jsx(_components.code, {\n children: \"TRANSFER\"\n }), \" or \", _jsx(_components.code, {\n children: \"TRANSFER_TO_RECIPIENT\"\n }), \" to the next step of its send chain: to the next recipient, or to \", _jsx(_components.code, {\n children: \"SENT\"\n }), \" when the chain is complete. \", _jsx(_components.code, {\n children: \"forwardToApprovalOrBooking\"\n }), \" forwards a report that is \", _jsx(_components.code, {\n children: \"ON_HOLD\"\n }), \" back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization.\\n\", _jsx(_components.code, {\n children: \"sendReminder\"\n }), \" reminds the owner of the report about it, and takes \", _jsx(_components.code, {\n children: \"{ \\\"message\\\": \\\"...\\\" }\"\n }), \" as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Update expense report for organization","description":"Updates an expense report. When the `action` query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (`name`, `comment`, `customFields`, `expenseRecords`, and `status` with `voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate` and `paidDate`); any other fields in the request body are silently ignored.\n`status` is first compared with the report's current status, case insensitive. A `status` equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged `status` (or only read-only fields, or only empty `customFields` or `expenseRecords`) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES.\nWhen `status` differs from the current one, the report is moved to that status the same way `action=setStatus` does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different `status` that is not accepted was silently ignored; it is now rejected. A `status` that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave `status` out of the body unless the report should be moved.\n`voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate` and `paidDate` are only applied together with a status change. Sending them without `status` is answered with 400 INVALID_PARAMETER, and so is sending them with a `status` equal to the current one; use `action=setStatus` to change them on a report that is already in the target status. The GET response doesn't contain these fields (it returns `sent`, `paid` and `externalVoucherNumber` instead), so they don't block sending a report read with GET back unchanged. Returning the report to its owner (`messageText`, `returnToUser`) is only available through `action=setStatus`; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (`/partners/{partnerId}/reports/{reportId}`) `status` and these fields are still ignored.\n`moveToNextStep` moves a report that is in `TRANSFER` or `TRANSFER_TO_RECIPIENT` to the next step of its send chain: to the next recipient, or to `SENT` when the chain is complete. `forwardToApprovalOrBooking` forwards a report that is `ON_HOLD` back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization.\n`sendReminder` reminds the owner of the report about it, and takes `{ \"message\": \"...\" }` as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\n","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/reports/{reportId}","href":"/reference/admin/expense-reports/update-expense-report-for-organization","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Update expense report for organization","operationId":"updateOrganizationExpenseReport","description":"Updates an expense report. When the `action` query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (`name`, `comment`, `customFields`, `expenseRecords`, and `status` with `voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate` and `paidDate`); any other fields in the request body are silently ignored.\n`status` is first compared with the report's current status, case insensitive. A `status` equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged `status` (or only read-only fields, or only empty `customFields` or `expenseRecords`) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES.\nWhen `status` differs from the current one, the report is moved to that status the same way `action=setStatus` does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different `status` that is not accepted was silently ignored; it is now rejected. A `status` that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave `status` out of the body unless the report should be moved.\n`voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate` and `paidDate` are only applied together with a status change. Sending them without `status` is answered with 400 INVALID_PARAMETER, and so is sending them with a `status` equal to the current one; use `action=setStatus` to change them on a report that is already in the target status. The GET response doesn't contain these fields (it returns `sent`, `paid` and `externalVoucherNumber` instead), so they don't block sending a report read with GET back unchanged. Returning the report to its owner (`messageText`, `returnToUser`) is only available through `action=setStatus`; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (`/partners/{partnerId}/reports/{reportId}`) `status` and these fields are still ignored.\n`moveToNextStep` moves a report that is in `TRANSFER` or `TRANSFER_TO_RECIPIENT` to the next step of its send chain: to the next recipient, or to `SENT` when the chain is complete. `forwardToApprovalOrBooking` forwards a report that is `ON_HOLD` back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization.\n`sendReminder` reminds the owner of the report about it, and takes `{ \"message\": \"...\" }` as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\n","tags":["Expense Reports"],"parameters":["4c69cc2c-6c35-49c4-a66f-9c80bce085bb","f1ab65ab-18b9-48c5-af2a-fccd3c8b618a","bd009b40-ffd7-4161-a34f-405d9ff1c293"],"requestBody":"78b33d5a-a2d7-4b27-812b-8deb6a315252","responses":{"200":"c5ab436c-4d00-44ab-8eb5-883a8945dc7c","400":"0dd01daf-26e0-44c3-8b8e-0ce4c928e886","403":"f81001ed-9abf-402b-9563-868477cca93e","404":"0f6e4936-55d5-4ced-b334-29268cac41da"},"method":"put","type":"path","servers":["20e34eef-9d99-4fd5-8bde-c32926c8074a","c1d55a91-917d-47ca-82f3-a7c42140cdea"],"security":["36ed4beb-c007-434b-9804-ba9ed346c7c5"],"path":"/organizations/{organizationId}/reports/{reportId}","baseUrlOptions":["https://stage-api.findity.com/api/v1/admin","https://api.findity.com/api/v1/admin"],"title":"Update expense report for organization","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.oneOf.0.name":"Business Trip Stockholm","body.oneOf.0.comment":"Updated comment for the expense report","body.oneOf.0.customFields.items.0.fieldDefinitionId":"2b965c866b634698811dabf45a491089","body.oneOf.0.customFields.items.0.value":true,"body.oneOf.0.expenseRecords.items.0.id":"a73efe636a4d47359f3c28c3024b6d23"},{"body.oneOf.0.status":"PAID","body.oneOf.0.paidDate":"2026-08-05T00:00:00+0200"},{"body.oneOf.1.message":"Please have a look at this report"},{"body.oneOf.0.status":"SENT","body.oneOf.0.voucherNumber":"V-2026-0042","body.oneOf.0.bookingDate":"2026-08-05T00:00:00+0200"},{"body.oneOf.0.status":"NORMAL","body.oneOf.0.messageText":"Please add the missing receipt and send the report again"},{"body.oneOf.2.recipientId":"3f2b1a0c9d8e7f6a5b4c3d2e1f0a9b8c"}],"withCredentials":true},"dependencies":{"parameters":{"4c69cc2c-6c35-49c4-a66f-9c80bce085bb":{"in":"path","name":"organizationId","required":true,"description":"Unique identifier of the organization. String in UUID without dashes (32-character hex string) if access is done via values from Findity system otherwise, id of external system can be used","schema":{"type":"string","isRequired":true,"description":"Unique identifier of the organization. String in UUID without dashes (32-character hex string) if access is done via values from Findity system otherwise, id of external system can be used","uniqueKey":"","typeLabel":"string"},"examples":{"Findity unique id":{"value":"05b8daba9ba14a49846fe77883248cf0"},"External system unique id":{"value":"a31a7372-3397-3924-ffcd-b7b4795e42eb"}}},"f1ab65ab-18b9-48c5-af2a-fccd3c8b618a":{"in":"path","name":"reportId","required":true,"description":"The unique identifier of the expense report. String, UUID format (32-character hexadecimal). Required.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"The unique identifier of the expense report. String, UUID format (32-character hexadecimal). Required.\nUUID without dashes (32-character hex string)","isRequired":true,"uniqueKey":"","typeLabel":"string"},"example":"f328e47d595c40ad80f27f52626c5b92"},"bd009b40-ffd7-4161-a34f-405d9ff1c293":{"in":"query","name":"action","required":false,"description":"Action to perform on the expense report instead of a field update. String, enum. Optional. Accepted values: reviewOk, clearTransactions, approve, reject, simulateBilling, sendReminder, setStatus, moveToNextStep, forwardToApprovalOrBooking, deleteExternalVoucherInfo.\n`approve` and `reject` submit an approval decision for the report's approval chain and require a request body holding `approvalChainId`. `approve` carries the per record decisions, so partial approvals are supported; `reject` rejects every expense record of the report unless explicit records are supplied.\n`simulateBilling` assigns a generated billing file reference to the report and to its card transactions, sets the due date to tomorrow and renames the report. It requires the `adminApiExpenseReports:updateExpenseReport-simulateBilling` permission and is intended as a developer and support tool.\n`sendReminder` reminds the owner of the report about it and takes an optional `message` in the request body. It requires the `adminApiExpenseReports:updateExpenseReport-sendReminder` permission, and only reports that carry an invoice reference can be reminded.\n`setStatus` moves the report to the status given in the request body. It is deprecated for plain status changes: send `status` in a field update (without `action`) instead, which does the same. It is still the way to return a report to its owner with `messageText` or `returnToUser`, and to set `voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate` or `paidDate` on a report that is already in the target status, for example to correct the voucher number of a SENT report or the paid date of a PAID report; a field update rejects these fields when `status` is unchanged. Changing the status of several reports at once, and moving reports to another recipient, is a separate operation: `PUT /organizations/{organizationId}/reports?action=setStatus`.\n`deleteExternalVoucherInfo` is deprecated and will be removed in a later release; use `DELETE /organizations/{organizationId}/reports/{reportId}/externalvoucher` instead, with `recipientId` as a query parameter instead of in the body. Until then it does the same as that endpoint and needs the same rights to modify reports, but answers 200 with the report. It clears the external voucher reference from the report and from every expense record in it. With `recipientId` in the request body, and if the report has a send chain, the voucher numbers of that recipient's step are cleared as well and a change log entry is written. A recipient of another organization is answered with 400 and nothing is cleared.\n`moveToNextStep` and `forwardToApprovalOrBooking` advance the report in its send chain. Both are restricted to the developer role and answer 403 for anyone else. Use `PUT /organizations/{organizationId}/reports?action=moveToNextStep` to advance several reports at once.\n","schema":{"type":"string","enum":["reviewOk","clearTransactions","approve","reject","simulateBilling","sendReminder","setStatus","moveToNextStep","forwardToApprovalOrBooking","deleteExternalVoucherInfo"],"isRequired":false,"description":"Action to perform on the expense report instead of a field update. String, enum. Optional. Accepted values: reviewOk, clearTransactions, approve, reject, simulateBilling, sendReminder, setStatus, moveToNextStep, forwardToApprovalOrBooking, deleteExternalVoucherInfo.\n`approve` and `reject` submit an approval decision for the report's approval chain and require a request body holding `approvalChainId`. `approve` carries the per record decisions, so partial approvals are supported; `reject` rejects every expense record of the report unless explicit records are supplied.\n`simulateBilling` assigns a generated billing file reference to the report and to its card transactions, sets the due date to tomorrow and renames the report. It requires the `adminApiExpenseReports:updateExpenseReport-simulateBilling` permission and is intended as a developer and support tool.\n`sendReminder` reminds the owner of the report about it and takes an optional `message` in the request body. It requires the `adminApiExpenseReports:updateExpenseReport-sendReminder` permission, and only reports that carry an invoice reference can be reminded.\n`setStatus` moves the report to the status given in the request body. It is deprecated for plain status changes: send `status` in a field update (without `action`) instead, which does the same. It is still the way to return a report to its owner with `messageText` or `returnToUser`, and to set `voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate` or `paidDate` on a report that is already in the target status, for example to correct the voucher number of a SENT report or the paid date of a PAID report; a field update rejects these fields when `status` is unchanged. Changing the status of several reports at once, and moving reports to another recipient, is a separate operation: `PUT /organizations/{organizationId}/reports?action=setStatus`.\n`deleteExternalVoucherInfo` is deprecated and will be removed in a later release; use `DELETE /organizations/{organizationId}/reports/{reportId}/externalvoucher` instead, with `recipientId` as a query parameter instead of in the body. Until then it does the same as that endpoint and needs the same rights to modify reports, but answers 200 with the report. It clears the external voucher reference from the report and from every expense record in it. With `recipientId` in the request body, and if the report has a send chain, the voucher numbers of that recipient's step are cleared as well and a change log entry is written. A recipient of another organization is answered with 400 and nothing is cleared.\n`moveToNextStep` and `forwardToApprovalOrBooking` advance the report in its send chain. Both are restricted to the developer role and answer 403 for anyone else. Use `PUT /organizations/{organizationId}/reports?action=moveToNextStep` to advance several reports at once.\n","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Fields that can be updated on an expense report. `status` and the fields used together with it (`voucherNumber`, `errorText`, `bookingDate`, `sentToBookingDate`, `paidDate`) are applied in a field update and with action=setStatus, and ignored with any other action. Any other fields in the request body are silently ignored.","required":[],"properties":{"name":{"type":"string","description":"The display name of the expense report. String, maximum 255 characters.","uniqueKey":"oneOf.0.name","typeLabel":"string"},"comment":{"type":"string","description":"Comment on the expense report. String, unlimited characters. When action=approve or action=reject is used, this is instead stored as the comment on the approval decision.","uniqueKey":"oneOf.0.comment","typeLabel":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"fieldDefinitionId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"UUID without dashes (32-character hex string)","uniqueKey":"oneOf.0.customFields.items.[INDEX].fieldDefinitionId","typeLabel":"string"},"value":{"description":"Can be: string, number, integer, date, boolean","uniqueKey":"oneOf.0.customFields.items.[INDEX].value","typeLabel":"any"}},"uniqueKey":"oneOf.0.customFields.items.[INDEX]","typeLabel":"object"},"description":"Array of custom field values to set on the expense report. Each item must include a `fieldDefinitionId` and a `value`. Array of custom field objects.","uniqueKey":"oneOf.0.customFields","typeLabel":"object[]"},"expenseRecords":{"type":"array","description":"Array of bare expense record objects to include in this report. Exclude a record to to delete it from a report.","items":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"oneOf.0.expenseRecords.items.[INDEX].id","typeLabel":"string"}},"description":"A bare expense record object with only id.","uniqueKey":"oneOf.0.expenseRecords.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.expenseRecords","typeLabel":"object[]"},"status":{"type":"string","description":"Target lifecycle status of the report, case insensitive. String. Required when action=setStatus; in a field update it is optional and moves the report to this status the same way action=setStatus does. It is first compared with the current status: when it is equal it is ignored, whatever the status is, and the fields used together with it are rejected with 400 INVALID_PARAMETER. Ignored with any other action. Accepted values for a change are NEW, NORMAL, READY_TO_SEND, SENT and PAID; any other value, known lifecycle status or not, is rejected with 400 INVALID_PARAMETER, since the remaining statuses are reached through their own processing. The transition itself is not validated - the report is moved to the given status whatever its current one is, so the caller decides what makes sense.\n","uniqueKey":"oneOf.0.status","typeLabel":"string"},"voucherNumber":{"type":"string","description":"External voucher number to store on the report and its expense records. String, unlimited characters. Optional, only used together with a `status` change.\n","uniqueKey":"oneOf.0.voucherNumber","typeLabel":"string"},"errorText":{"type":"string","description":"Error information to store on the report; the previous error status is cleared first. String, unlimited characters. Optional, only used together with a `status` change.\n","uniqueKey":"oneOf.0.errorText","typeLabel":"string"},"bookingDate":{"type":"string","format":"date-time","description":"Accounting booking date of the report, the date the report is booked on. Stored on the report itself and used when reports are exported and sorted by booking date. String, date-time format `yyyy-MM-dd'T'HH:mm:ss` with `Z`, `±hh:mm` or `±hhmm` and optional fractions of a second; a value that can't be parsed, such as a date without a time, is not rejected but treated as omitted. Optional, only used together with a `status` change for the SENT and PAID statuses. When omitted it defaults to the current time: always on a move to SENT, and on a move to PAID only when the report has no booking date yet.\n","uniqueKey":"oneOf.0.bookingDate","typeLabel":"string\u003cdate-time>"},"sentToBookingDate":{"type":"string","format":"date-time","description":"Date the report was handed over to booking. Stored separately from `bookingDate` and passed on to the integration in the send chain payload. String, date-time format, parsed like `bookingDate`. Optional, only used together with a `status` change for the SENT and PAID statuses, and an omitted or unparseable value defaults the same way as for `bookingDate`.\n","uniqueKey":"oneOf.0.sentToBookingDate","typeLabel":"string\u003cdate-time>"},"paidDate":{"type":"string","format":"date-time","description":"Paid date to store on the report. String, date-time format, parsed like `bookingDate`. Optional, only used together with a `status` change for the PAID status; an omitted or unparseable value defaults to the current time.\n","uniqueKey":"oneOf.0.paidDate","typeLabel":"string\u003cdate-time>"},"messageText":{"type":"string","description":"Message sent to the report owner when the report is returned to the user. String, unlimited characters. Optional, only used with action=setStatus; sending it in a field update is answered with 400 INVALID_PARAMETER. Supplying it is enough to treat the change as a return to the owner when the target status is NEW or NORMAL, `returnToUser` does not have to be set as well.\n","uniqueKey":"oneOf.0.messageText","typeLabel":"string"},"returnToUser":{"type":"boolean","description":"Marks the status change as a return to the report owner. Boolean. Optional, only used with action=setStatus; sending it in a field update is answered with 400 INVALID_PARAMETER. Set it to notify the owner for any target status, or when moving to NEW or NORMAL without a `messageText`. It is redundant when `messageText` is given together with the NEW or NORMAL status, which already counts as a return.\n","uniqueKey":"oneOf.0.returnToUser","typeLabel":"boolean"},"approvalChainId":{"type":"string","description":"Id of the approval chain the decision applies to. String, UUID format (32-character hex). Required when action=approve or action=reject, ignored otherwise. Must belong to the report in the path.\n","pattern":"^[0-9a-fA-F]{32}$","uniqueKey":"oneOf.0.approvalChainId","typeLabel":"string"},"rejectedExpenseRecords":{"type":"array","description":"Expense records to reject. Array of objects, optional. Only used with action=approve or action=reject. Every record of the report that is not listed here is approved, so an omitted or empty list approves the whole report; with action=reject an omitted list rejects every record of the report.\n","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Id of the expense record to reject. String, UUID format (32-character hex). Required. Must belong to the report in the path.\n","pattern":"^[0-9a-fA-F]{32}$","isRequired":true,"uniqueKey":"oneOf.0.rejectedExpenseRecords.items.[INDEX].id","typeLabel":"string"},"rejectComment":{"type":"string","description":"Comment explaining why the record was rejected. String, unlimited characters. Optional.\n","uniqueKey":"oneOf.0.rejectedExpenseRecords.items.[INDEX].rejectComment","typeLabel":"string"}},"uniqueKey":"oneOf.0.rejectedExpenseRecords.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.rejectedExpenseRecords","typeLabel":"object[]"},"nextStepApproverIds":{"type":"array","description":"Ids of the approvers to use for the next approval step. Array of strings, optional. Only relevant for action=approve when the approval section requires next step approvers to be chosen; the ids must be approver candidates of the next approval step.\n","items":{"type":"string","description":"Id of an approver. String, UUID format (32-character hex).","pattern":"^[0-9a-fA-F]{32}$","uniqueKey":"oneOf.0.nextStepApproverIds.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.0.nextStepApproverIds","typeLabel":"string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Request body for the single report `sendReminder` action.","required":[],"properties":{"message":{"type":"string","description":"Message included in the reminder mail sent to the report owner. String. Optional, the mail is sent without a message when omitted.\n","uniqueKey":"oneOf.1.message","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","description":"Request body for the deprecated single report `deleteExternalVoucherInfo` action. Use `DELETE /organizations/{organizationId}/reports/{reportId}/externalvoucher` with `recipientId` as a query parameter instead.\n","required":[],"properties":{"recipientId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"Recipient whose voucher numbers are also cleared from the report's send chain. Optional; when omitted only the report and its expense records are cleared and the send chain keeps its voucher numbers. A recipient that does not belong to the organization is answered with 400 INVALID_PARAMETER, and nothing is cleared.\n","example":"3f2b1a0c9d8e7f6a5b4c3d2e1f0a9b8c","uniqueKey":"oneOf.2.recipientId","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"fieldUpdate":{"title":"fieldUpdate","value":{"name":"Business Trip Stockholm","comment":"Updated comment for the expense report","expenseRecords":[{"id":"a73efe636a4d47359f3c28c3024b6d23"}],"customFields":[{"fieldDefinitionId":"2b965c866b634698811dabf45a491089","value":true}]}},"statusUpdate":{"title":"statusUpdate","value":{"status":"PAID","paidDate":"2026-08-05T00:00:00+0200"}},"sendReminder":{"title":"sendReminder","value":{"message":"Please have a look at this report"}},"setStatus":{"title":"setStatus","value":{"status":"SENT","bookingDate":"2026-08-05T00:00:00+0200","voucherNumber":"V-2026-0042"}},"setStatusReturnToUser":{"title":"setStatusReturnToUser","value":{"status":"NORMAL","messageText":"Please add the missing receipt and send the report again"}},"deleteExternalVoucherInfo":{"title":"deleteExternalVoucherInfo","value":{"recipientId":"3f2b1a0c9d8e7f6a5b4c3d2e1f0a9b8c"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"c5ab436c-4d00-44ab-8eb5-883a8945dc7c":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"comment":{"type":"string","uniqueKey":"comment","typeLabel":"string"},"dateCreated":{"type":"string","readOnly":true,"uniqueKey":"dateCreated","typeLabel":"string"},"emailRecipients":{"type":"string","uniqueKey":"emailRecipients","typeLabel":"string"},"expenseRecords":{"type":"array","items":{"type":"object","description":"ExpenseRecord format","properties":{"id":{"type":"string","uniqueKey":"expenseRecords.items.[INDEX].id","typeLabel":"string"},"status":{"type":"string","enum":["NEW","NORMAL","APPROVAL","APPROVED","REJECTED"],"readOnly":true,"uniqueKey":"expenseRecords.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"personId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"UUID without dashes (32-character hex string)","uniqueKey":"expenseRecords.items.[INDEX].personId","typeLabel":"string"},"dateCreated":{"type":"string","readOnly":true,"uniqueKey":"expenseRecords.items.[INDEX].dateCreated","typeLabel":"string"},"lastUpdated":{"type":"string","readOnly":true,"uniqueKey":"expenseRecords.items.[INDEX].lastUpdated","typeLabel":"string"},"organizationId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"UUID without dashes (32-character hex string)","uniqueKey":"expenseRecords.items.[INDEX].organizationId","typeLabel":"string"},"categoryId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"UUID without dashes (32-character hex string)","uniqueKey":"expenseRecords.items.[INDEX].categoryId","typeLabel":"string"},"rejectComment":{"type":"string","readOnly":true,"uniqueKey":"expenseRecords.items.[INDEX].rejectComment","typeLabel":"string"},"expenseReportId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"UUID without dashes (32-character hex string)","uniqueKey":"expenseRecords.items.[INDEX].expenseReportId","typeLabel":"string"},"reimbursement":{"type":"number","readOnly":true,"uniqueKey":"expenseRecords.items.[INDEX].reimbursement","typeLabel":"number"},"reimbursementCurrency":{"type":"string","readOnly":true,"uniqueKey":"expenseRecords.items.[INDEX].reimbursementCurrency","typeLabel":"string"},"meta":{"type":"object","properties":{"categoryIconUrl":{"type":"string","example":"https://expense.findity.com/api/resources/8a5f867e9b204742a8cc2ca2b6c57358","uniqueKey":"expenseRecords.items.[INDEX].meta.categoryIconUrl","typeLabel":"string"}},"uniqueKey":"expenseRecords.items.[INDEX].meta","typeLabel":"object"}},"uniqueKey":"expenseRecords.items.[INDEX]","typeLabel":"object"},"uniqueKey":"expenseRecords","typeLabel":"object[]"},"id":{"type":"string","uniqueKey":"id","typeLabel":"string"},"lastUpdated":{"type":"string","uniqueKey":"lastUpdated","typeLabel":"string"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"organizationId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"UUID without dashes (32-character hex string)","uniqueKey":"organizationId","typeLabel":"string"},"personId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"UUID without dashes (32-character hex string)","uniqueKey":"personId","typeLabel":"string"},"previewUrl":{"type":"string","readOnly":true,"uniqueKey":"previewUrl","typeLabel":"string"},"reportNumber":{"type":"string","uniqueKey":"reportNumber","typeLabel":"string"},"sent":{"type":"string","readOnly":true,"uniqueKey":"sent","typeLabel":"string"},"paid":{"type":"string","format":"date-time","readOnly":true,"description":"Date when the expense report was paid. ISO-8601 format (e.g., 2024-01-15T10:30:00Z). Read-only.","uniqueKey":"paid","typeLabel":"string\u003cdate-time>"},"approved":{"type":"string","format":"date-time","readOnly":true,"description":"Date when the expense report was approved. ISO-8601 format (e.g., 2024-01-15T10:30:00Z). Read-only.","uniqueKey":"approved","typeLabel":"string\u003cdate-time>"},"status":{"type":"string","enum":["APPROVAL","APPROVED","READY_TO_SEND","BULK_TRANSFER","ERROR","NEW","NORMAL","ON_HOLD","PAID","REJECTED","SEND","SENT","TRANSFER","TRANSFER_TO_RECIPIENT","REVIEW"],"readOnly":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"processStatus":{"type":"string","enum":["DRAFT","PROCESSING","PROCESSED","REJECTED"],"readOnly":true,"uniqueKey":"processStatus","typeLabel":"enum\u003cstring>"},"reimbursement":{"type":"number","readOnly":true,"uniqueKey":"reimbursement","typeLabel":"number"},"reimbursementCurrency":{"type":"string","readOnly":true,"uniqueKey":"reimbursementCurrency","typeLabel":"string"},"type":{"type":"string","enum":["AUTOMATIC","MANUAL","COMPANY_CARD"],"readOnly":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"ownerName":{"type":"string","uniqueKey":"ownerName","typeLabel":"string"},"firstName":{"type":"string","description":"First name of the expense report owner","uniqueKey":"firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Last name of the expense report owner","uniqueKey":"lastName","typeLabel":"string"},"adminErrorInformation":{"type":"string","description":"Error information from admin operations","uniqueKey":"adminErrorInformation","typeLabel":"string"},"organizationName":{"type":"string","uniqueKey":"organizationName","typeLabel":"string"},"organizationNumber":{"type":"string","uniqueKey":"organizationNumber","typeLabel":"string"},"organizationLanguage":{"type":"string","uniqueKey":"organizationLanguage","typeLabel":"string"},"organizationUseNewDimensions":{"type":"boolean","uniqueKey":"organizationUseNewDimensions","typeLabel":"boolean"},"organizationRequiresAttestation":{"type":"boolean","uniqueKey":"organizationRequiresAttestation","typeLabel":"boolean"},"organizationUsesPaymentBasis":{"type":"boolean","uniqueKey":"organizationUsesPaymentBasis","typeLabel":"boolean"},"organizationReviewType":{"type":"string","enum":["NONE","AFTER_SEND","AFTER_APPROVAL"],"description":"Review type for the organization. None, before approval, or after approval. The AFTER_SEND value actually means before approval.","uniqueKey":"organizationReviewType","typeLabel":"enum\u003cstring>"},"expenseRecordCount":{"type":"integer","description":"Number of expense records in this report","uniqueKey":"expenseRecordCount","typeLabel":"integer"},"totalAmount":{"type":"number","description":"Total amount of all expense records in the report","uniqueKey":"totalAmount","typeLabel":"number"},"userCanModifyReports":{"type":"boolean","uniqueKey":"userCanModifyReports","typeLabel":"boolean"},"userCanSendReports":{"type":"boolean","uniqueKey":"userCanSendReports","typeLabel":"boolean"},"reportGroup":{"type":"integer","uniqueKey":"reportGroup","typeLabel":"integer"},"onHoldStatus":{"type":"object","description":"On-hold status information","readOnly":true,"properties":{"cards":{"type":"array","items":{"type":"object","properties":{"bank":{"type":"string","description":"Bank identifier","uniqueKey":"onHoldStatus.cards.items.[INDEX].bank","typeLabel":"string"},"cardNumber":{"type":"string","description":"Card number (masked)","uniqueKey":"onHoldStatus.cards.items.[INDEX].cardNumber","typeLabel":"string"}},"uniqueKey":"onHoldStatus.cards.items.[INDEX]","typeLabel":"object"},"description":"List of active cards associated with the expense report","uniqueKey":"onHoldStatus.cards","typeLabel":"object[]"},"cardMissingConfig":{"type":"array","items":{"type":"object","properties":{"erId":{"type":"string","description":"Expense record ID","uniqueKey":"onHoldStatus.cardMissingConfig.items.[INDEX].erId","typeLabel":"string"},"bank":{"type":"string","description":"Bank identifier","uniqueKey":"onHoldStatus.cardMissingConfig.items.[INDEX].bank","typeLabel":"string"},"cardNumber":{"type":"string","description":"Card number (masked)","uniqueKey":"onHoldStatus.cardMissingConfig.items.[INDEX].cardNumber","typeLabel":"string"},"cardExternalId":{"type":"string","description":"External card ID","uniqueKey":"onHoldStatus.cardMissingConfig.items.[INDEX].cardExternalId","typeLabel":"string"}},"uniqueKey":"onHoldStatus.cardMissingConfig.items.[INDEX]","typeLabel":"object"},"description":"List of cards missing configuration","uniqueKey":"onHoldStatus.cardMissingConfig","typeLabel":"object[]"},"transactionWithAuthStatus":{"type":"array","items":{"type":"string","uniqueKey":"onHoldStatus.transactionWithAuthStatus.items.[INDEX]","typeLabel":"string"},"description":"List of expense record IDs with authorization status transactions","uniqueKey":"onHoldStatus.transactionWithAuthStatus","typeLabel":"string[]"},"cardDeleted":{"type":"array","items":{"type":"object","properties":{"erId":{"type":"string","description":"Expense record ID","uniqueKey":"onHoldStatus.cardDeleted.items.[INDEX].erId","typeLabel":"string"},"bank":{"type":"string","description":"Bank identifier","uniqueKey":"onHoldStatus.cardDeleted.items.[INDEX].bank","typeLabel":"string"},"cardNumber":{"type":"string","description":"Card number (masked)","uniqueKey":"onHoldStatus.cardDeleted.items.[INDEX].cardNumber","typeLabel":"string"},"cardExternalId":{"type":"string","description":"External card ID","uniqueKey":"onHoldStatus.cardDeleted.items.[INDEX].cardExternalId","typeLabel":"string"}},"uniqueKey":"onHoldStatus.cardDeleted.items.[INDEX]","typeLabel":"object"},"description":"List of deleted cards","uniqueKey":"onHoldStatus.cardDeleted","typeLabel":"object[]"},"allTransactionsEligibleForClearing":{"type":"boolean","description":"Whether all transactions are eligible for manual clearing","uniqueKey":"onHoldStatus.allTransactionsEligibleForClearing","typeLabel":"boolean"}},"uniqueKey":"onHoldStatus","typeLabel":"object"},"bank":{"type":"string","description":"Bank information for payment","uniqueKey":"bank","typeLabel":"string"},"dueDate":{"type":"string","format":"date-time","description":"Payment due date. ISO-8601 format (e.g., 2024-01-15T10:30:00Z).","uniqueKey":"dueDate","typeLabel":"string\u003cdate-time>"},"cardNumber":{"type":"string","description":"Card number (masked)","uniqueKey":"cardNumber","typeLabel":"string"},"invoiceRef":{"type":"string","description":"Invoice reference","uniqueKey":"invoiceRef","typeLabel":"string"},"invoiceNumber":{"type":"string","description":"Invoice number","uniqueKey":"invoiceNumber","typeLabel":"string"},"invoiceDate":{"type":"string","format":"date-time","description":"Invoice date. ISO-8601 format (e.g., 2024-01-15T10:30:00Z).","uniqueKey":"invoiceDate","typeLabel":"string\u003cdate-time>"},"externalVoucherNumber":{"type":"string","description":"External voucher number from integration","uniqueKey":"externalVoucherNumber","typeLabel":"string"},"externalVoucherInformation":{"type":"string","description":"External voucher information","uniqueKey":"externalVoucherInformation","typeLabel":"string"},"externalVoucherErrorInformation":{"type":"string","description":"Error information from external voucher system","uniqueKey":"externalVoucherErrorInformation","typeLabel":"string"},"externalVoucherId":{"type":"string","description":"External voucher ID","uniqueKey":"externalVoucherId","typeLabel":"string"},"reminderSentToUser":{"type":"boolean","description":"Whether a reminder has been sent to the user","uniqueKey":"reminderSentToUser","typeLabel":"boolean"},"hasExpenseViolations":{"type":"boolean","description":"Whether any expense in the report has an unhandled policy violation (duplicate receipt or other)","uniqueKey":"hasExpenseViolations","typeLabel":"boolean"},"message":{"type":"object","description":"The latest direct message of the report, used for the message icon in the report list. Always returned when the report has a message, omitted otherwise. Use the 'meta.messages' include to get the report's messages (on the single-report endpoints only the messages sent to the report owner).\n","required":["text","isAdminView"],"properties":{"text":{"type":"string","description":"The text of the latest direct message on the report. Plain text with no fixed maximum length.","isRequired":true,"uniqueKey":"message.text","typeLabel":"string"},"isAdminView":{"type":"boolean","description":"Whether the message was written from the admin view","isRequired":true,"uniqueKey":"message.isAdminView","typeLabel":"boolean"}},"uniqueKey":"message","typeLabel":"object"},"approverReminded":{"type":"boolean","description":"Whether an approver has been reminded","uniqueKey":"approverReminded","typeLabel":"boolean"},"reminderSentToApprover":{"type":"boolean","deprecated":true,"description":"Deprecated, use approverReminded. Whether an approver has been reminded","uniqueKey":"reminderSentToApprover","typeLabel":"boolean"},"employeeId":{"type":"string","description":"Employee ID (included when 'employeeId' is in include parameter)","uniqueKey":"employeeId","typeLabel":"string"},"validationErrors":{"type":"array","description":"Validation errors of the report and of its expenses (included when 'validationErrors' is in include parameter). Errors on an expense carry the expenseRecordId of that expense; errors on the report itself have no expenseRecordId.\n","items":{"type":"object","required":["errorMessage","errorCode","checkType"],"properties":{"errorMessage":{"type":"string","description":"Translated, human-readable text of the error","isRequired":true,"uniqueKey":"validationErrors.items.[INDEX].errorMessage","typeLabel":"string"},"errorCode":{"type":"string","description":"Code of the error, for example REQUIRED_FIELD","isRequired":true,"uniqueKey":"validationErrors.items.[INDEX].errorCode","typeLabel":"string"},"checkType":{"type":"string","enum":["ERROR","BLOCKER","WARNING"],"description":"Severity of the error. ERROR - the document cannot be saved, BLOCKER - the report cannot be sent, WARNING - informational only\n","isRequired":true,"uniqueKey":"validationErrors.items.[INDEX].checkType","typeLabel":"enum\u003cstring>"},"property":{"type":"string","description":"The field the error applies to, or the custom field definition id for custom fields. Omitted when the error is not tied to a field.","uniqueKey":"validationErrors.items.[INDEX].property","typeLabel":"string"},"expenseRecordId":{"type":"string","description":"The expense the error belongs to. Omitted for errors on the report itself.","uniqueKey":"validationErrors.items.[INDEX].expenseRecordId","typeLabel":"string"}},"uniqueKey":"validationErrors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"validationErrors","typeLabel":"object[]"},"hasRejectedExpenseRecords":{"type":"boolean","description":"Whether the report has rejected expense records (included when 'approvalChain' is in include parameter)","uniqueKey":"hasRejectedExpenseRecords","typeLabel":"boolean"},"hasIncorrectApprovalChains":{"type":"boolean","description":"Whether the report has incorrect approval chains (included when 'approvalChain' or 'sendChain' is in include parameter)","uniqueKey":"hasIncorrectApprovalChains","typeLabel":"boolean"},"approvalAllowed":{"type":"boolean","description":"Whether the calling user may approve or reject this report, as the current approver or as a report/organization administrator when both the client application and the organization allow report/organization administrators to approve. Never true for the caller's own report unless the caller is the current approver. Only evaluated for a report with a single approval chain that has one active step, no incorrect approval chains and no pending next step approver selection (see `currentApproverInfo.approvalChainId`); otherwise false (included when 'approvalChain' is in include parameter)\n","uniqueKey":"approvalAllowed","typeLabel":"boolean"},"requiresNextStepApproverSelection":{"type":"boolean","description":"Whether an approver for the next approval step has to be selected before the report can be approved. Only present for reports in status APPROVAL (included when 'approvalChain' is in include parameter)","uniqueKey":"requiresNextStepApproverSelection","typeLabel":"boolean"},"currentApproverInfo":{"type":"object","description":"Information about the current approver (included when 'approvalChain' is in include parameter)","properties":{"singleApprover":{"type":"boolean","description":"Whether the report has a single approver","uniqueKey":"currentApproverInfo.singleApprover","typeLabel":"boolean"},"hasIncorrectApprovalChains":{"type":"boolean","description":"Whether the report has incorrect approval chains","uniqueKey":"currentApproverInfo.hasIncorrectApprovalChains","typeLabel":"boolean"},"approvalChainId":{"type":"string","description":"The approval chain ID. Set when the report has exactly one approval chain with one active step, also when the caller may approve as an administrator without being one of the step's approvers. Not set when `hasIncorrectApprovalChains` or `requiresNextStepApproverSelection` is true. Send it as `approvalChainId` when approving or rejecting the report.\n","uniqueKey":"currentApproverInfo.approvalChainId","typeLabel":"string"},"fullName":{"type":"string","description":"Full name of the current approver, or of the temporary approver when one is set for the step. When the step has several approvers, only set if the calling user is one of them (it is then the caller's own name).\n","uniqueKey":"currentApproverInfo.fullName","typeLabel":"string"},"email":{"type":"string","description":"Email address of the current approver, or of the temporary approver when one is set for the step. When the step has several approvers, only set if the calling user is one of them (it is then the caller's own email).\n","uniqueKey":"currentApproverInfo.email","typeLabel":"string"}},"uniqueKey":"currentApproverInfo","typeLabel":"object"},"sendChain":{"type":"object","description":"Send chain information (included when 'sendChain' is in include parameter)","properties":{"isComplete":{"type":"boolean","description":"Whether every active step in the chain has been sent","uniqueKey":"sendChain.isComplete","typeLabel":"boolean"},"senders":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"Status of this step in the chain. The step a report is currently waiting on is the one with the lowest sortOrder among the steps still in TRANSFER_TO_RECIPIENT, which is what the recipientId filter matches on.\n","uniqueKey":"sendChain.senders.items.[INDEX].status","typeLabel":"string"},"recipient":{"type":"object","description":"The recipient this step sends to","properties":{"id":{"type":"string","description":"Id of the recipient, the value the recipientId filter takes","uniqueKey":"sendChain.senders.items.[INDEX].recipient.id","typeLabel":"string"},"integrationPluginName":{"type":"string","description":"The integration plugin that delivers to this recipient, if the recipient is served by one","uniqueKey":"sendChain.senders.items.[INDEX].recipient.integrationPluginName","typeLabel":"string"}},"uniqueKey":"sendChain.senders.items.[INDEX].recipient","typeLabel":"object"},"sortOrder":{"type":"integer","description":"Position of this step in the chain, ascending","uniqueKey":"sendChain.senders.items.[INDEX].sortOrder","typeLabel":"integer"},"collectReport":{"type":"boolean","description":"Whether this step collects the report instead of sending it on","uniqueKey":"sendChain.senders.items.[INDEX].collectReport","typeLabel":"boolean"},"recordInstances":{"type":"array","description":"The per expense record send instances belonging to this step","items":{"type":"object","properties":{"id":{"type":"string","description":"External id of the record send instance","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].id","typeLabel":"string"},"expenseRecordId":{"type":"string","description":"The expense record this instance belongs to","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].expenseRecordId","typeLabel":"string"},"externalVoucherNumber":{"type":"string","description":"Voucher number the recipient booked the record under","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].externalVoucherNumber","typeLabel":"string"},"externalVoucherId":{"type":"string","description":"The recipient's own id for the voucher","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].externalVoucherId","typeLabel":"string"},"externalVoucherUrl":{"type":"string","description":"Link to the voucher in the recipient system","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].externalVoucherUrl","typeLabel":"string"},"externalVoucherInformation":{"type":"string","description":"Message returned by the recipient for this record","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].externalVoucherInformation","typeLabel":"string"},"externalVoucherErrorInformation":{"type":"string","description":"Error returned by the recipient for this record","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].externalVoucherErrorInformation","typeLabel":"string"},"bookingDate":{"type":"string","format":"date-time","description":"When the recipient booked the record","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].bookingDate","typeLabel":"string\u003cdate-time>"},"includedInRecipient":{"type":"boolean","description":"Whether the record was part of what was sent to the recipient","uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX].includedInRecipient","typeLabel":"boolean"}},"uniqueKey":"sendChain.senders.items.[INDEX].recordInstances.items.[INDEX]","typeLabel":"object"},"uniqueKey":"sendChain.senders.items.[INDEX].recordInstances","typeLabel":"object[]"},"uniqueVoucherNumbers":{"type":"array","items":{"type":"string","uniqueKey":"sendChain.senders.items.[INDEX].uniqueVoucherNumbers.items.[INDEX]","typeLabel":"string"},"description":"Unique voucher numbers","uniqueKey":"sendChain.senders.items.[INDEX].uniqueVoucherNumbers","typeLabel":"string[]"},"numberOfNonBookedExpenses":{"type":"integer","description":"Number of non-booked expenses","uniqueKey":"sendChain.senders.items.[INDEX].numberOfNonBookedExpenses","typeLabel":"integer"},"numberOfBookedExpenses":{"type":"integer","description":"Number of booked expenses","uniqueKey":"sendChain.senders.items.[INDEX].numberOfBookedExpenses","typeLabel":"integer"},"aggregatedVoucherNumbers":{"type":"string","description":"Aggregated voucher numbers","uniqueKey":"sendChain.senders.items.[INDEX].aggregatedVoucherNumbers","typeLabel":"string"},"aggregatedVoucherInformation":{"type":"string","description":"Aggregated voucher information","uniqueKey":"sendChain.senders.items.[INDEX].aggregatedVoucherInformation","typeLabel":"string"},"aggregatedVoucherErrorInformation":{"type":"string","description":"Aggregated voucher error information","uniqueKey":"sendChain.senders.items.[INDEX].aggregatedVoucherErrorInformation","typeLabel":"string"}},"uniqueKey":"sendChain.senders.items.[INDEX]","typeLabel":"object"},"description":"List of senders in the chain","uniqueKey":"sendChain.senders","typeLabel":"object[]"}},"uniqueKey":"sendChain","typeLabel":"object"},"tag":{"type":"object","description":"Tag information (included when 'tag' is in include parameter)","properties":{"simulatedCardReport":{"oneOf":[{"type":"boolean","uniqueKey":"tag.simulatedCardReport.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"tag.simulatedCardReport.oneOf.1","typeLabel":"null"}],"uniqueKey":"tag.simulatedCardReport","typeLabel":"boolean | null"},"integrationTest":{"oneOf":[{"type":"boolean","description":"Only returned to callers with the developer role.","uniqueKey":"tag.integrationTest.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Only returned to callers with the developer role.","uniqueKey":"tag.integrationTest.oneOf.1","typeLabel":"null"}],"uniqueKey":"tag.integrationTest","typeLabel":"boolean | null"},"dimensions":{"oneOf":[{"type":"object","description":"The report's dimension values keyed by the dimension's description. A dimension with one value holds that value, a dimension with several values holds a list of them. Only computed from the report's custom fields in the organization level list, when the requested statuses include REVIEW, APPROVAL or READY_TO_SEND; otherwise the value stored on the report is returned (normally null).\n","additionalProperties":{"oneOf":[{}],"uniqueKey":"tag.dimensions.oneOf.0.additionalProperties","typeLabel":"any"},"example":{"Project":"P-100","Cost center":["CC-1","CC-2"]},"uniqueKey":"tag.dimensions.oneOf.0","typeLabel":"object"},{"type":"null","description":"The report's dimension values keyed by the dimension's description. A dimension with one value holds that value, a dimension with several values holds a list of them. Only computed from the report's custom fields in the organization level list, when the requested statuses include REVIEW, APPROVAL or READY_TO_SEND; otherwise the value stored on the report is returned (normally null).\n","additionalProperties":{"oneOf":[{}],"uniqueKey":"tag.dimensions.oneOf.1.additionalProperties","typeLabel":"any"},"example":{"Project":"P-100","Cost center":["CC-1","CC-2"]},"uniqueKey":"tag.dimensions.oneOf.1","typeLabel":"null"}],"uniqueKey":"tag.dimensions","typeLabel":"object | null"}},"uniqueKey":"tag","typeLabel":"object"},"meta":{"type":"object","description":"Server-computed metadata for the report. Each property is opt-in through the include parameter.","properties":{"autoApproval":{"type":"object","required":["status"],"description":"AI review guidance for the report, produced by the Controller agent and rolled up from the verdicts on the report's expenses. Only present when 'meta.autoApproval' is in the include parameter, the feature is enabled for the organization, and the agent has reached a verdict for every expense in the report.\n","properties":{"status":{"type":"string","enum":["APPROVED","REJECTED"],"description":"The verdict for the whole report. APPROVED means the report is low risk and needs no manual attention. REJECTED means at least one of its expenses was flagged and the report needs manual review - no rejection has taken place and the report's own status is unaffected. The two values match the per-expense verdict the expense API already exposes under meta.autoApproval, so a client can use one mapping for both. A report the agent has not finished with is omitted entirely rather than reported as pending.\n","readOnly":true,"isRequired":true,"uniqueKey":"meta.autoApproval.status","typeLabel":"enum\u003cstring>"},"reasons":{"type":"array","description":"Why the agent reached that verdict, in the same wording the approver app shows the end user and already translated for the caller's locale. For REJECTED these are the deviations found on the report's expenses, de-duplicated across them and ordered by reason code. For APPROVED these are the checks that came back clean. Omitted when there is nothing to show, so a REJECTED report can arrive without it.\n","readOnly":true,"items":{"type":"object","required":["reason","description"],"properties":{"reason":{"type":"string","enum":["SIMILAR_REJECTED_ORG","SIMILAR_REJECTED_PERSON","SIMILAR_REJECTED_GLOBAL","POLICY_FAILURE","NOT_VALID_RECEIPT","DEVIATING_AMOUNT_ORG","DEVIATING_AMOUNT_PERSON","DEVIATING_AMOUNT_GLOBAL","PREDICT_AMOUNT_DEVIATION","WEEKEND_PURCHASE_DATE","SPECIAL_ITEM_ALCOHOL","SPECIAL_ITEM_TOBACCO"],"description":"The check the agent ran. The set is closed and matches the agent's reason types; new codes are only added together with a new agent capability.\n","isRequired":true,"uniqueKey":"meta.autoApproval.reasons.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"description":{"type":"string","description":"The translated sentence shown for that reason.","isRequired":true,"uniqueKey":"meta.autoApproval.reasons.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"meta.autoApproval.reasons.items.[INDEX]","typeLabel":"object"},"uniqueKey":"meta.autoApproval.reasons","typeLabel":"object[]"}},"uniqueKey":"meta.autoApproval","typeLabel":"object"}},"uniqueKey":"meta","typeLabel":"object"},"customFields":{"type":"array","items":{"type":"object","properties":{"fieldDefinitionId":{"type":"string","pattern":"^[0-9a-fA-F]{32}$","description":"UUID without dashes (32-character hex string)","uniqueKey":"customFields.items.[INDEX].fieldDefinitionId","typeLabel":"string"},"value":{"description":"Can be: string, number, integer, date, boolean","uniqueKey":"customFields.items.[INDEX].value","typeLabel":"any"}},"uniqueKey":"customFields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"customFields","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"550e8400e29b41d4a716446655440000","name":"Business Trip Stockholm","personId":"123e4567e89b12d3a456426614174000","organizationId":"550e8400e29b41d4a716446655440001","dateCreated":"2024-01-15T09:30:00Z","lastUpdated":"2024-01-16T14:45:00Z","reportNumber":"ER-2024-001","comment":"Business trip to Stockholm for client meeting","emailRecipients":"manager@company.com;finance@company.com","status":"APPROVAL","processStatus":"PROCESSED","type":"MANUAL","reimbursement":2580.5,"reimbursementCurrency":"SEK","sent":"2024-01-16T10:00:00Z","previewUrl":"https://expense.findity.com/api/expensereports/550e8400e29b41d4a716446655440000","meta":{"autoApproval":{"status":"REJECTED","reasons":[{"reason":"POLICY_FAILURE","description":"Violates the company's expense policy."},{"reason":"WEEKEND_PURCHASE_DATE","description":"The purchase was made during a weekend."}]}},"expenseRecords":[{"id":"7f3c1a9e2b4d4e6f8a0b1c2d3e4f5a61","status":"APPROVAL","personId":"123e4567e89b12d3a456426614174000","organizationId":"550e8400e29b41d4a716446655440001","categoryId":"8a5f867e9b204742a8cc2ca2b6c57358","expenseReportId":"550e8400e29b41d4a716446655440000","dateCreated":"2024-01-15T09:30:00Z","lastUpdated":"2024-01-16T14:45:00Z","reimbursement":1250,"reimbursementCurrency":"SEK","meta":{"categoryIconUrl":"https://expense.findity.com/api/resources/8a5f867e9b204742a8cc2ca2b6c57358"}},{"id":"7f3c1a9e2b4d4e6f8a0b1c2d3e4f5a62","status":"APPROVAL","personId":"123e4567e89b12d3a456426614174000","organizationId":"550e8400e29b41d4a716446655440001","categoryId":"9b6f977f8c305753b9dd3db3c7d68469","expenseReportId":"550e8400e29b41d4a716446655440000","dateCreated":"2024-01-15T18:45:00Z","lastUpdated":"2024-01-16T14:45:00Z","reimbursement":1330.5,"reimbursementCurrency":"SEK","meta":{"categoryIconUrl":"https://expense.findity.com/api/resources/9b6f977f8c305753b9dd3db3c7d68469"}}],"ownerName":"John Doe","firstName":"John","lastName":"Doe","organizationName":"Acme Corporation","organizationNumber":"556123-4567","organizationLanguage":"en","organizationUseNewDimensions":true,"organizationRequiresAttestation":false,"organizationUsesPaymentBasis":true,"expenseRecordCount":2,"totalAmount":2580.5,"userCanModifyReports":true,"userCanSendReports":true,"reportGroup":1,"onHoldStatus":{"cards":[],"cardMissingConfig":[],"transactionWithAuthStatus":[],"cardDeleted":[],"allTransactionsEligibleForClearing":false},"bank":"SEB1234567890","dueDate":"2024-01-25T00:00:00Z","cardNumber":"**** **** **** 1234","invoiceRef":"INV-2024-001","invoiceNumber":"INV-2024-001","invoiceDate":"2024-01-15T00:00:00Z","reminderSentToUser":false,"employeeId":"EMP001","validationErrors":[{"errorMessage":"Required field: Description","errorCode":"REQUIRED_FIELD","checkType":"BLOCKER","property":"description","expenseRecordId":"550e8400e29b41d4a716446655440001"}],"reminderSentToApprover":false,"approverReminded":false,"hasExpenseViolations":false,"message":{"text":"Please attach the receipt for the hotel expense","isAdminView":true},"hasRejectedExpenseRecords":false,"hasIncorrectApprovalChains":false,"approvalAllowed":true,"requiresNextStepApproverSelection":false,"currentApproverInfo":{"singleApprover":true,"hasIncorrectApprovalChains":false,"approvalChainId":"456e7890e89b12d3a456426614174999","fullName":"Jane Smith","email":"jane.smith@company.com"},"sendChain":{"isComplete":false,"senders":[{"status":"TRANSFER_TO_RECIPIENT","recipient":{"id":"789e0123e89b12d3a456426614174888"},"sortOrder":1,"collectReport":false,"recordInstances":[],"uniqueVoucherNumbers":[],"numberOfNonBookedExpenses":0,"numberOfBookedExpenses":0}]},"tag":{"simulatedCardReport":false,"dimensions":{"project":"PROJ-001","department":"Sales"}},"customFields":[{"fieldDefinitionId":"2b965c866b634698811dabf45a491089","value":true}]},"examples":{"Example":{"title":"Example","value":{"id":"550e8400e29b41d4a716446655440000","name":"Business Trip Stockholm","personId":"123e4567e89b12d3a456426614174000","organizationId":"550e8400e29b41d4a716446655440001","dateCreated":"2024-01-15T09:30:00Z","lastUpdated":"2024-01-16T14:45:00Z","reportNumber":"ER-2024-001","comment":"Business trip to Stockholm for client meeting","emailRecipients":"manager@company.com;finance@company.com","status":"APPROVAL","processStatus":"PROCESSED","type":"MANUAL","reimbursement":2580.5,"reimbursementCurrency":"SEK","sent":"2024-01-16T10:00:00Z","previewUrl":"https://expense.findity.com/api/expensereports/550e8400e29b41d4a716446655440000","meta":{"autoApproval":{"status":"REJECTED","reasons":[{"reason":"POLICY_FAILURE","description":"Violates the company's expense policy."},{"reason":"WEEKEND_PURCHASE_DATE","description":"The purchase was made during a weekend."}]}},"expenseRecords":[{"id":"7f3c1a9e2b4d4e6f8a0b1c2d3e4f5a61","status":"APPROVAL","personId":"123e4567e89b12d3a456426614174000","organizationId":"550e8400e29b41d4a716446655440001","categoryId":"8a5f867e9b204742a8cc2ca2b6c57358","expenseReportId":"550e8400e29b41d4a716446655440000","dateCreated":"2024-01-15T09:30:00Z","lastUpdated":"2024-01-16T14:45:00Z","reimbursement":1250,"reimbursementCurrency":"SEK","meta":{"categoryIconUrl":"https://expense.findity.com/api/resources/8a5f867e9b204742a8cc2ca2b6c57358"}},{"id":"7f3c1a9e2b4d4e6f8a0b1c2d3e4f5a62","status":"APPROVAL","personId":"123e4567e89b12d3a456426614174000","organizationId":"550e8400e29b41d4a716446655440001","categoryId":"9b6f977f8c305753b9dd3db3c7d68469","expenseReportId":"550e8400e29b41d4a716446655440000","dateCreated":"2024-01-15T18:45:00Z","lastUpdated":"2024-01-16T14:45:00Z","reimbursement":1330.5,"reimbursementCurrency":"SEK","meta":{"categoryIconUrl":"https://expense.findity.com/api/resources/9b6f977f8c305753b9dd3db3c7d68469"}}],"ownerName":"John Doe","firstName":"John","lastName":"Doe","organizationName":"Acme Corporation","organizationNumber":"556123-4567","organizationLanguage":"en","organizationUseNewDimensions":true,"organizationRequiresAttestation":false,"organizationUsesPaymentBasis":true,"expenseRecordCount":2,"totalAmount":2580.5,"userCanModifyReports":true,"userCanSendReports":true,"reportGroup":1,"onHoldStatus":{"cards":[],"cardMissingConfig":[],"transactionWithAuthStatus":[],"cardDeleted":[],"allTransactionsEligibleForClearing":false},"bank":"SEB1234567890","dueDate":"2024-01-25T00:00:00Z","cardNumber":"**** **** **** 1234","invoiceRef":"INV-2024-001","invoiceNumber":"INV-2024-001","invoiceDate":"2024-01-15T00:00:00Z","reminderSentToUser":false,"employeeId":"EMP001","validationErrors":[{"errorMessage":"Required field: Description","errorCode":"REQUIRED_FIELD","checkType":"BLOCKER","property":"description","expenseRecordId":"550e8400e29b41d4a716446655440001"}],"reminderSentToApprover":false,"approverReminded":false,"hasExpenseViolations":false,"message":{"text":"Please attach the receipt for the hotel expense","isAdminView":true},"hasRejectedExpenseRecords":false,"hasIncorrectApprovalChains":false,"approvalAllowed":true,"requiresNextStepApproverSelection":false,"currentApproverInfo":{"singleApprover":true,"hasIncorrectApprovalChains":false,"approvalChainId":"456e7890e89b12d3a456426614174999","fullName":"Jane Smith","email":"jane.smith@company.com"},"sendChain":{"isComplete":false,"senders":[{"status":"TRANSFER_TO_RECIPIENT","recipient":{"id":"789e0123e89b12d3a456426614174888"},"sortOrder":1,"collectReport":false,"recordInstances":[],"uniqueVoucherNumbers":[],"numberOfNonBookedExpenses":0,"numberOfBookedExpenses":0}]},"tag":{"simulatedCardReport":false,"dimensions":{"project":"PROJ-001","department":"Sales"}},"customFields":[{"fieldDefinitionId":"2b965c866b634698811dabf45a491089","value":true}]}}},"exampleType":"examples"}},"exampleType":"examples"},"0dd01daf-26e0-44c3-8b8e-0ce4c928e886":{"description":"Invalid JSON body, nothing to update, invalid action, invalid status change or missing parameter","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","uniqueKey":"result","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"description":{"type":"string","uniqueKey":"description","typeLabel":"string"},"requestId":{"type":"string","description":"Identifier of the request in the server logs. Included when the server assigned one.","example":"47b17d6f18b84c5b8c9460c55d98c108","uniqueKey":"requestId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"invalidAction":{"title":"invalidAction","value":{"result":"error","code":"INVALID_ACTION","description":"Invalid action provided. Accepted values: reviewOk, clearTransactions"}},"notOnHold":{"title":"notOnHold","value":{"result":"error","code":"EXPENSE_REPORT_NOT_IN_STATUS_ON_HOLD","description":"Expense report is not in status on hold, was NORMAL"}},"noInvoiceReference":{"title":"noInvoiceReference","value":{"result":"error","code":"INVALID_PARAMETER","description":"Expense report 05b8daba9ba14a49846fe77883248cf0 has no invoice reference and can not be reminded"}},"invalidStatus":{"title":"invalidStatus","value":{"result":"error","code":"INVALID_PARAMETER","description":"Invalid status specified, was 'DELETED'. Allowed statuses are NEW, NORMAL, READY_TO_SEND, SENT, PAID"}},"missingStatus":{"title":"missingStatus","value":{"result":"error","code":"MISSING_PARAMETER","description":"status is required for action 'setStatus'"}},"unknownRecipient":{"title":"unknownRecipient","value":{"result":"error","code":"INVALID_PARAMETER","description":"Recipient 3f2b1a0c9d8e7f6a5b4c3d2e1f0a9b8c does not belong to organization 05b8daba9ba14a49846fe77883248cf0"}},"returnToUserInFieldUpdate":{"title":"returnToUserInFieldUpdate","value":{"result":"error","code":"INVALID_PARAMETER","description":"messageText and returnToUser are only supported with action=setStatus"}},"statusFieldsWithoutStatusChange":{"title":"statusFieldsWithoutStatusChange","value":{"result":"error","code":"INVALID_PARAMETER","description":"voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate are only applied together with a status change"}},"statusFieldsWithUnchangedStatus":{"title":"statusFieldsWithUnchangedStatus","value":{"result":"error","code":"INVALID_PARAMETER","description":"status is already PAID; use action=setStatus to change voucherNumber, errorText, bookingDate, sentToBookingDate or paidDate"}},"nothingToUpdate":{"title":"nothingToUpdate","value":{"result":"error","code":"NO_KNOWN_JSON_PROPERTIES","description":"No known, or only read-only properties received"}},"invalidJsonBody":{"title":"invalidJsonBody","value":{"result":"error","code":"INVALID_JSON_BODY","description":"Could not parse JSON content."}}},"exampleType":"examples"}},"exampleType":"examples"},"f81001ed-9abf-402b-9563-868477cca93e":{"description":"Forbidden — the expense report was not found, the user does not have access to it, or the caller lacks what the requested action needs. `simulateBilling` and `sendReminder` each require their own permission, `moveToNextStep` and `forwardToApprovalOrBooking` require the developer role, the other actions only need access to the report.\n","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","uniqueKey":"result","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"description":{"type":"string","uniqueKey":"description","typeLabel":"string"}},"example":{"result":"error","description":"Not allowed"},"uniqueKey":"","typeLabel":"object"},"examples":{"noAccess":{"title":"noAccess","value":{"result":"error","description":"Not allowed"}},"missingActionPermission":{"title":"missingActionPermission","value":{"result":"error","description":"Insufficient rights"}}},"exampleType":"examples"}},"exampleType":"examples"},"0f6e4936-55d5-4ced-b334-29268cac41da":{"description":"Not found — the expense report does not exist, or it belongs to another organization than the one in the path.\n","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","uniqueKey":"result","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"description":{"type":"string","uniqueKey":"description","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"result":"error","code":"EXPENSE_REPORT_NOT_FOUND","description":"Expense report not found"},"examples":{"Example":{"title":"Example","value":{"result":"error","code":"EXPENSE_REPORT_NOT_FOUND","description":"Expense report not found"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"36ed4beb-c007-434b-9804-ba9ed346c7c5":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"20e34eef-9d99-4fd5-8bde-c32926c8074a":{"url":"https://stage-api.findity.com/api/v1/admin"},"c1d55a91-917d-47ca-82f3-a7c42140cdea":{"url":"https://api.findity.com/api/v1/admin"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/findity-admin-api.json"},"subdomain":"findity-docs","siteName":"Findity Docs","title":"Update expense report for organization - Findity Docs","contextualStarterQuestions":[],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"reference/admin/expense-reports/update-expense-report-for-organization.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Updates an expense report. When the action query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (name, comment, customFields, expenseRecords, and status with voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate); any other fields in the request body are silently ignored. status is first compared with the report\u0026#x27;s current status, case insensitive. A status equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged status (or only read-only fields, or only empty customFields or expenseRecords) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES. When status differs from the current one, the report is moved to that status the same way action=setStatus does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different status that is not accepted was silently ignored; it is now rejected. A status that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave status out of the body unless the report should be moved. voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate are only applied together with a status change. Sending them without status is answered with 400 INVALID_PARAMETER, and so is sending them with a status equal to the current one; use action=setStatus to change them on a report that is already in the target status. The GET response doesn\u0026#x27;t contain these fields (it returns sent, paid and externalVoucherNumber instead), so they don\u0026#x27;t block sending a report read with GET back unchanged. Returning the report to its owner (messageText, returnToUser) is only available through action=setStatus; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (/partners/{partnerId}/reports/{reportId}) status and these fields are still ignored. moveToNextStep moves a report that is in TRANSFER or TRANSFER_TO_RECIPIENT to the next step of its send chain: to the next recipient, or to SENT when the chain is complete. forwardToApprovalOrBooking forwards a report that is ON_HOLD back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization. sendReminder reminds the owner of the report about it, and takes { \u0026quot;message\u0026quot;: \u0026quot;...\u0026quot; } as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Findity Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update expense report for organization - Findity Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates an expense report. When the action query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (name, comment, customFields, expenseRecords, and status with voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate); any other fields in the request body are silently ignored. status is first compared with the report\u0026#x27;s current status, case insensitive. A status equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged status (or only read-only fields, or only empty customFields or expenseRecords) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES. When status differs from the current one, the report is moved to that status the same way action=setStatus does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different status that is not accepted was silently ignored; it is now rejected. A status that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave status out of the body unless the report should be moved. voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate are only applied together with a status change. Sending them without status is answered with 400 INVALID_PARAMETER, and so is sending them with a status equal to the current one; use action=setStatus to change them on a report that is already in the target status. The GET response doesn\u0026#x27;t contain these fields (it returns sent, paid and externalVoucherNumber instead), so they don\u0026#x27;t block sending a report read with GET back unchanged. Returning the report to its owner (messageText, returnToUser) is only available through action=setStatus; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (/partners/{partnerId}/reports/{reportId}) status and these fields are still ignored. moveToNextStep moves a report that is in TRANSFER or TRANSFER_TO_RECIPIENT to the next step of its send chain: to the next recipient, or to SENT when the chain is complete. forwardToApprovalOrBooking forwards a report that is ON_HOLD back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization. sendReminder reminds the owner of the report about it, and takes { \u0026quot;message\u0026quot;: \u0026quot;...\u0026quot; } as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Findity Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://findity-docs.mintlify.site/_mintlify/api/og/v2?division=Expense+Reports\u0026amp;title=Update+expense+report+for+organization\u0026amp;description=Updates+an+expense+report.+When+the+%60action%60+query+parameter+is+provided%2C+performs+the+specified+action+instead+of+a+field+update.+Otherwise%2C+updates+the+allowe\u0026amp;theme=6ceb2538bf2cc0b72c46e477\u0026amp;signature=78c886580f0a8aa323247984166e327ef4a14e7c1034954e31132267ec4d0031\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update expense report for organization - Findity Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates an expense report. When the action query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (name, comment, customFields, expenseRecords, and status with voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate); any other fields in the request body are silently ignored. status is first compared with the report\u0026#x27;s current status, case insensitive. A status equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged status (or only read-only fields, or only empty customFields or expenseRecords) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES. When status differs from the current one, the report is moved to that status the same way action=setStatus does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different status that is not accepted was silently ignored; it is now rejected. A status that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave status out of the body unless the report should be moved. voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate are only applied together with a status change. Sending them without status is answered with 400 INVALID_PARAMETER, and so is sending them with a status equal to the current one; use action=setStatus to change them on a report that is already in the target status. The GET response doesn\u0026#x27;t contain these fields (it returns sent, paid and externalVoucherNumber instead), so they don\u0026#x27;t block sending a report read with GET back unchanged. Returning the report to its owner (messageText, returnToUser) is only available through action=setStatus; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (/partners/{partnerId}/reports/{reportId}) status and these fields are still ignored. moveToNextStep moves a report that is in TRANSFER or TRANSFER_TO_RECIPIENT to the next step of its send chain: to the next recipient, or to SENT when the chain is complete. forwardToApprovalOrBooking forwards a report that is ON_HOLD back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization. sendReminder reminds the owner of the report about it, and takes { \u0026quot;message\u0026quot;: \u0026quot;...\u0026quot; } as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://findity-docs.mintlify.site/_mintlify/api/og/v2?division=Expense+Reports\u0026amp;title=Update+expense+report+for+organization\u0026amp;description=Updates+an+expense+report.+When+the+%60action%60+query+parameter+is+provided%2C+performs+the+specified+action+instead+of+a+field+update.+Otherwise%2C+updates+the+allowe\u0026amp;theme=6ceb2538bf2cc0b72c46e477\u0026amp;signature=78c886580f0a8aa323247984166e327ef4a14e7c1034954e31132267ec4d0031\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/findity-docs/qh6qZo-BejSNhjrJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Findity Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#012A2D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/admin/expense-reports/update-expense-report-for-organization.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.findity.com/#organization\",\"name\":\"Findity Docs\",\"url\":\"https://developer.findity.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/findity-docs/fTsgC-3N_Y6D9oSZ/images/logo/light.avif?fit=max\u0026auto=format\u0026n=fTsgC-3N_Y6D9oSZ\u0026q=85\u0026s=b7bba7599b80f1ac5c6454a26179858b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.findity.com#website\",\"name\":\"Findity Docs\",\"url\":\"https://developer.findity.com\",\"publisher\":{\"@id\":\"https://developer.findity.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization#webpage\",\"url\":\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization\",\"name\":\"Update expense report for organization\",\"description\":\"Updates an expense report. When the action query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (name, comment, customFields, expenseRecords, and status with voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate); any other fields in the request body are silently ignored. status is first compared with the report's current status, case insensitive. A status equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged status (or only read-only fields, or only empty customFields or expenseRecords) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES. When status differs from the current one, the report is moved to that status the same way action=setStatus does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different status that is not accepted was silently ignored; it is now rejected. A status that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave status out of the body unless the report should be moved. voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate are only applied together with a status change. Sending them without status is answered with 400 INVALID_PARAMETER, and so is sending them with a status equal to the current one; use action=setStatus to change them on a report that is already in the target status. The GET response doesn't contain these fields (it returns sent, paid and externalVoucherNumber instead), so they don't block sending a report read with GET back unchanged. Returning the report to its owner (messageText, returnToUser) is only available through action=setStatus; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (/partners/{partnerId}/reports/{reportId}) status and these fields are still ignored. moveToNextStep moves a report that is in TRANSFER or TRANSFER_TO_RECIPIENT to the next step of its send chain: to the next recipient, or to SENT when the chain is complete. forwardToApprovalOrBooking forwards a report that is ON_HOLD back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization. sendReminder reminds the owner of the report about it, and takes { \\\"message\\\": \\\"...\\\" } as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\",\"isPartOf\":{\"@id\":\"https://developer.findity.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Findity Admin API\",\"item\":\"https://developer.findity.com/reference/admin/organizations/list-organizations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expense Reports\",\"item\":\"https://developer.findity.com/reference/admin/expense-reports/list-expense-reports-for-organization\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update expense report for organization\",\"item\":\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization#apireference\",\"headline\":\"Update expense report for organization\",\"name\":\"Update expense report for organization\",\"description\":\"Updates an expense report. When the action query parameter is provided, performs the specified action instead of a field update. Otherwise, updates the allowed fields (name, comment, customFields, expenseRecords, and status with voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate); any other fields in the request body are silently ignored. status is first compared with the report's current status, case insensitive. A status equal to the current one counts as no status change and is ignored, whatever the status is, so a report read with GET can be sent back unchanged also when it is for example ON_HOLD. A body with only an unchanged status (or only read-only fields, or only empty customFields or expenseRecords) has nothing to update and is answered with 400 NO_KNOWN_JSON_PROPERTIES. When status differs from the current one, the report is moved to that status the same way action=setStatus does it, with the same side effects. Only NEW, NORMAL, READY_TO_SEND, SENT and PAID are accepted, anything else is answered with 400 INVALID_PARAMETER and nothing in the body is applied. Earlier, a different status that is not accepted was silently ignored; it is now rejected. A status that differs from the current one is always applied, also when it comes from an earlier GET and the report has been moved since; the update has no version check. Leave status out of the body unless the report should be moved. voucherNumber, errorText, bookingDate, sentToBookingDate and paidDate are only applied together with a status change. Sending them without status is answered with 400 INVALID_PARAMETER, and so is sending them with a status equal to the current one; use action=setStatus to change them on a report that is already in the target status. The GET response doesn't contain these fields (it returns sent, paid and externalVoucherNumber instead), so they don't block sending a report read with GET back unchanged. Returning the report to its owner (messageText, returnToUser) is only available through action=setStatus; sending either of them in a field update is answered with 400 INVALID_PARAMETER. On the partner endpoint (/partners/{partnerId}/reports/{reportId}) status and these fields are still ignored. moveToNextStep moves a report that is in TRANSFER or TRANSFER_TO_RECIPIENT to the next step of its send chain: to the next recipient, or to SENT when the chain is complete. forwardToApprovalOrBooking forwards a report that is ON_HOLD back into the approval or booking flow. Both are support tools and are restricted to the developer role. The report must belong to the organization in the path; a report of another organization is answered with 404 EXPENSE_REPORT_NOT_FOUND even when the caller administers that organization. sendReminder reminds the owner of the report about it, and takes { \\\"message\\\": \\\"...\\\" } as its body. Only reports that carry an invoice reference can be reminded, and only organization administrators and standard API keys may use it.\",\"url\":\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization\",\"mainEntityOfPage\":{\"@id\":\"https://developer.findity.com/reference/admin/expense-reports/update-expense-report-for-organization#webpage\"},\"publisher\":{\"@id\":\"https://developer.findity.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.findity.com#website\"}}]}\u003c/script>","siteName":"Findity Docs","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":"/docs/welcome"}]},{"tab":"API Reference","icon":"code","pages":[{"group":"Authentication","pages":[{"group":"Token","pages":[{"title":"Request access token","deprecated":null,"version":null,"openapi":"/openapi/authentication.json post /oauth/token","href":"/reference/authentication/token/request-access-token"},{"title":"Revoke token","deprecated":null,"version":null,"openapi":"/openapi/authentication.json post /oauth/revoke","href":"/reference/authentication/token/revoke-token"},{"title":"Create authorization for a user","deprecated":null,"version":null,"openapi":"/openapi/authentication.json post /oauth/authorization-grant","href":"/reference/authentication/token/create-authorization-for-a-user"}]},{"title":"Whitelist of IP addresses","href":"/reference/whitelist-of-ip-addresses"}]},{"group":"Findity Expense API","pages":[{"group":"User","root":{"title":"User","href":"/reference/user"},"pages":[{"title":"Get logged in user","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me","href":"/reference/expense/user/get-logged-in-user"},{"title":"Update logged in user","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /me","href":"/reference/expense/user/update-logged-in-user"},{"title":"Update logged in user using fields structure","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /me?format=fields","href":"/reference/expense/user/update-logged-in-user-using-fields-structure"},{"title":"Get user profile image","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/profileimage","href":"/reference/expense/user/get-user-profile-image"},{"title":"Upload user profile image","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /me/profileimage","href":"/reference/expense/user/upload-user-profile-image"},{"title":"Delete user profile image","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json delete /me/profileimage","href":"/reference/expense/user/delete-user-profile-image"},{"title":"Change email or verify code","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /me/email","href":"/reference/expense/user/change-email-or-verify-code"},{"title":"Change phone or verify code","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /me/phone","href":"/reference/expense/user/change-phone-or-verify-code"},{"title":"Deletes the users phone number","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json delete /me/phone","href":"/reference/expense/user/deletes-the-users-phone-number"},{"title":"Update password of logged in user","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /me/password","href":"/reference/expense/user/update-password-of-logged-in-user"},{"title":"Get user extra recipients","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/extrarecipients","href":"/reference/expense/user/get-user-extra-recipients"},{"title":"Add extra recipient email or verify code","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /me/extrarecipients","href":"/reference/expense/user/add-extra-recipient-email-or-verify-code"},{"title":"Get counters for all organizations that user belongs to","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/counters","href":"/reference/expense/user/get-counters-for-all-organizations-that-user-belongs-to"},{"title":"Deletes an extra recipient","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json delete /me/extrarecipients/{extraRecipientId}","href":"/reference/expense/user/deletes-an-extra-recipient"},{"title":"Fetch user settings in fields format","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/settings/fields","href":"/reference/expense/user/fetch-user-settings-in-fields-format"},{"title":"Transient update of user settings in fields format","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /me/settings/fields","href":"/reference/expense/user/transient-update-of-user-settings-in-fields-format"}]},{"group":"Organizations","pages":[{"title":"Get user organizations","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations","href":"/reference/expense/organizations/get-user-organizations"},{"title":"Get a user organization","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}","href":"/reference/expense/organizations/get-a-user-organization"},{"title":"Search chart of accounts","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/accounts","href":"/reference/expense/organizations/search-chart-of-accounts"},{"title":"List organizations with approver role","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/approvals","href":"/reference/expense/organizations/list-organizations-with-approver-role"},{"title":"Search temporary approver candidates","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/approvals/users","href":"/reference/expense/organizations/search-temporary-approver-candidates"},{"title":"Search card liabilities","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/cardliabilitylist","href":"/reference/expense/organizations/search-card-liabilities"},{"title":"Search card owner types","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/cardownertypes","href":"/reference/expense/organizations/search-card-owner-types"},{"title":"Organization representation types","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/categories/{categoryId}/representationtypes","href":"/reference/expense/organizations/organization-representation-types"},{"title":"Organization car types","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/categories/{categoryId}/cartypes","href":"/reference/expense/organizations/organization-car-types"},{"title":"Search countries list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/countries","href":"/reference/expense/organizations/search-countries-list"},{"title":"Search currencies list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/currencies","href":"/reference/expense/organizations/search-currencies-list"},{"title":"Organization expense types","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/expensetypes","href":"/reference/expense/organizations/organization-expense-types"},{"title":"Organization expense type","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/expensetypes/{expenseType}","href":"/reference/expense/organizations/organization-expense-type"},{"title":"Organization categories","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/expensetypes/{expenseType}/categories","href":"/reference/expense/organizations/organization-categories"},{"title":"Search fuel types list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/fueltypes","href":"/reference/expense/organizations/search-fuel-types-list"},{"title":"Search guests","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/guests","href":"/reference/expense/organizations/search-guests"},{"title":"Search custom field list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/lists/{listkey}","href":"/reference/expense/organizations/search-custom-field-list"},{"title":"Search locales list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/locales","href":"/reference/expense/organizations/search-locales-list"},{"title":"Search payment types list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/paymenttypes","href":"/reference/expense/organizations/search-payment-types-list"},{"title":"Get policy document for an organization","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/policies/documents/{documentId}","href":"/reference/expense/organizations/get-policy-document-for-an-organization"},{"title":"Search salary types","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/salarytypes","href":"/reference/expense/organizations/search-salary-types"},{"title":"Search time zones list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/timezones/{countryCode}","href":"/reference/expense/organizations/search-time-zones-list"},{"title":"Search commuting years list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/commuting/years","href":"/reference/expense/organizations/search-commuting-years-list"},{"title":"Search commuting months list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/commuting/months","href":"/reference/expense/organizations/search-commuting-months-list"},{"title":"Search commuting days list","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/commuting/days","href":"/reference/expense/organizations/search-commuting-days-list"}]},{"group":"Fields","pages":[{"title":"Rendering expense views","href":"/reference/rendering-expense-views"},{"title":"Field properties","href":"/reference/field-properties"},{"title":"Field types","href":"/reference/field-types"},{"title":"Expense type fields - initialize","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/expensetypes/{expenseType}/fields","href":"/reference/expense/fields/expense-type-fields--initialize"},{"title":"Expense type fields - update","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /me/organizations/{id}/expensetypes/{expenseType}/fields","href":"/reference/expense/fields/expense-type-fields--update"},{"title":"Approval expense fields - initialize","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/approvals/expense/{expenseId}/fields","href":"/reference/expense/fields/approval-expense-fields--initialize"},{"title":"Expense report fields - initialize","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/expensereports/fields","href":"/reference/expense/fields/expense-report-fields--initialize"},{"title":"Expense report fields - update","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /me/organizations/{id}/expensereports/fields","href":"/reference/expense/fields/expense-report-fields--update"},{"title":"Approval expense report fields - initialize","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/approvals/expensereports/{expenseReportId}/fields","href":"/reference/expense/fields/approval-expense-report-fields--initialize"},{"title":"Create expense report (fields format of expense report)","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /expensereports?format=fields","href":"/reference/expense/fields/create-expense-report-fields-format-of-expense-report"},{"title":"Update expense report (fields format of expense report)","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /expensereports/{expenseReportId}?format=fields","href":"/reference/expense/fields/update-expense-report-fields-format-of-expense-report"}]},{"title":"Overview","href":"/reference/overview-1"},{"title":"Global query parameters","href":"/reference/global-query-parameters"},{"group":"Expenses","pages":[{"title":"List expenses","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /expenses","href":"/reference/expense/expenses/list-expenses"},{"title":"Create a new expense","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /expenses","href":"/reference/expense/expenses/create-a-new-expense"},{"title":"Create a new expense (fields format of expense record)","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /expenses?format=fields","href":"/reference/expense/expenses/create-a-new-expense-fields-format-of-expense-record"},{"title":"Get expense","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /expenses/{expenseId}","href":"/reference/expense/expenses/get-expense"},{"title":"Update expense","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /expenses/{expenseId}","href":"/reference/expense/expenses/update-expense"},{"title":"Delete expense","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json delete /expenses/{expenseId}","href":"/reference/expense/expenses/delete-expense"},{"title":"Update expense (fields format of expense record)","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /expenses/{expenseId}?format=fields","href":"/reference/expense/expenses/update-expense-fields-format-of-expense-record"},{"title":"Get expense image","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /expenses/{expenseId}/image","href":"/reference/expense/expenses/get-expense-image"}]},{"group":"Expense Reports","pages":[{"title":"List expense reports","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /expensereports","href":"/reference/expense/expense-reports/list-expense-reports"},{"title":"Create expense report","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /expensereports","href":"/reference/expense/expense-reports/create-expense-report"},{"title":"Get expense report","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /expensereports/{expenseReportId}","href":"/reference/expense/expense-reports/get-expense-report"},{"title":"Update expense report","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /expensereports/{expenseReportId}","href":"/reference/expense/expense-reports/update-expense-report"},{"title":"Delete expense report","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json delete /expensereports/{expenseReportId}","href":"/reference/expense/expense-reports/delete-expense-report"}]},{"group":"Content","pages":[{"title":"Create content","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /content","href":"/reference/expense/content/create-content"},{"title":"Get content","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /content/{id}","href":"/reference/expense/content/get-content"},{"title":"Trigger action","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /content/{id}","href":"/reference/expense/content/trigger-action"},{"title":"Delete content","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json delete /content/{id}","href":"/reference/expense/content/delete-content"},{"title":"Get as image","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /content/{id}/image","href":"/reference/expense/content/get-as-image"},{"title":"Get as binary","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /content/{id}/content","href":"/reference/expense/content/get-as-binary"}]},{"group":"Inbox","pages":[{"title":"List inbox items","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/inboxitems","href":"/reference/expense/inbox/list-inbox-items"},{"title":"Get inbox item","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/inboxitems/{inboxItemId}","href":"/reference/expense/inbox/get-inbox-item"},{"title":"Get inbox item attachment","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/inboxitems/{inboxItemId}/attachments/{attachmentId}","href":"/reference/expense/inbox/get-inbox-item-attachment"}]},{"group":"Route","pages":[{"title":"Get place suggestions","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /route/suggestions","href":"/reference/expense/route/get-place-suggestions"},{"title":"Get route directions","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /route/directions","href":"/reference/expense/route/get-route-directions"}]},{"group":"FleetManagementTrips","pages":[{"title":"List fleet management trips","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/categories/{categoryId}/fleetmanagementtrips","href":"/reference/expense/fleetmanagementtrips/list-fleet-management-trips"}]},{"group":"Approvals","pages":[{"title":"List approvals","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/approvals","href":"/reference/expense/approvals/list-approvals"},{"title":"List approvals by person","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/approvals/groups/person","href":"/reference/expense/approvals/list-approvals-by-person"},{"title":"Get approval for report by approvalChainId","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/approvals/{expenseReportId}","href":"/reference/expense/approvals/get-approval-for-report-by-approvalchainid"},{"title":"Approve or reject records in report","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /me/organizations/{id}/approvals/{expenseReportId}","href":"/reference/expense/approvals/approve-or-reject-records-in-report"},{"title":"List expense records attached to expense report for approval","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/approvals/{expenseReportId}/expenses","href":"/reference/expense/approvals/list-expense-records-attached-to-expense-report-for-approval"},{"title":"List next-step approvers","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/organizations/{id}/approvals/{expenseReportId}/approvalchains/{approvalChainId}/nextstep/approvers","href":"/reference/expense/approvals/list-next-step-approvers"}]},{"group":"Notifications","pages":[{"title":"List notifications","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/notifications","href":"/reference/expense/notifications/list-notifications"},{"title":"Bulk update notifications","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json put /me/notifications","href":"/reference/expense/notifications/bulk-update-notifications"},{"title":"Get notification","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /me/notifications/{id}","href":"/reference/expense/notifications/get-notification"},{"title":"Delete notification","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json delete /me/notifications/{id}","href":"/reference/expense/notifications/delete-notification"}]},{"group":"Impersonation","pages":[{"title":"Search users","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json get /impersonation/users/search","href":"/reference/expense/impersonation/search-users"}]},{"group":"Bulk","pages":[{"title":"Execute a batch of expense API requests","deprecated":null,"version":null,"openapi":"/openapi/findity-expense-api.json post /bulk","href":"/reference/expense/bulk/execute-a-batch-of-expense-api-requests"}]}]},{"group":"Findity Admin API","pages":[{"group":"Organizations","pages":[{"title":"List organizations","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations","href":"/reference/admin/organizations/list-organizations"},{"title":"Create organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations","href":"/reference/admin/organizations/create-organization"},{"title":"Get organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}","href":"/reference/admin/organizations/get-organization"},{"title":"Update organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}","href":"/reference/admin/organizations/update-organization"},{"title":"Delete organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}","href":"/reference/admin/organizations/delete-organization"},{"title":"Get accounts","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{id}/accounts","href":"/reference/admin/organizations/get-accounts"},{"title":"Create account","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{id}/accounts","href":"/reference/admin/organizations/create-account"},{"title":"Get account","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{id}/accounts/{accountId}","href":"/reference/admin/organizations/get-account"},{"title":"Update account","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{id}/accounts/{accountId}","href":"/reference/admin/organizations/update-account"},{"title":"Delete account","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{id}/accounts/{accountId}","href":"/reference/admin/organizations/delete-account"},{"title":"Get salary types","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{id}/salarytypes","href":"/reference/admin/organizations/get-salary-types"},{"title":"Create salary type","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{id}/salarytypes","href":"/reference/admin/organizations/create-salary-type"},{"title":"Get salary type","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{id}/salarytypes/{salaryTypeId}","href":"/reference/admin/organizations/get-salary-type"},{"title":"Update salary type","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{id}/salarytypes/{salaryTypeId}","href":"/reference/admin/organizations/update-salary-type"},{"title":"Delete salary type","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{id}/salarytypes/{salaryTypeId}","href":"/reference/admin/organizations/delete-salary-type"},{"title":"Unlock locked account","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{id}/users/{userId}/unlock","href":"/reference/admin/organizations/unlock-locked-account"}]},{"group":"Categories","pages":[{"title":"Get export categories","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{id}/categories","href":"/reference/admin/categories/get-export-categories"},{"title":"Update expense IRIS category","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /expenses/iriscategories","href":"/reference/admin/categories/update-expense-iris-category"}]},{"group":"Policies","pages":[{"title":"List policy documents for an organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/policies/documents","href":"/reference/admin/policies/list-policy-documents-for-an-organization"},{"title":"Get policy document","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/policies/documents/{documentId}","href":"/reference/admin/policies/get-policy-document"},{"title":"Update policy document","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/policies/documents/{documentId}","href":"/reference/admin/policies/update-policy-document"},{"title":"Delete policy document","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/policies/documents/{documentId}","href":"/reference/admin/policies/delete-policy-document"}]},{"group":"Expense Reports","pages":[{"title":"List expense reports for organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/reports","href":"/reference/admin/expense-reports/list-expense-reports-for-organization"},{"title":"Perform an action on several expense reports","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/reports","href":"/reference/admin/expense-reports/perform-an-action-on-several-expense-reports"},{"title":"Report counters for organization (tab badges)","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/reports/counters","href":"/reference/admin/expense-reports/report-counters-for-organization-tab-badges"},{"title":"Generate output for expense reports","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/reports/output","href":"/reference/admin/expense-reports/generate-output-for-expense-reports"},{"title":"Get expense report for organization","description":"Retrieves a specific expense report by id for the organization.","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/reports/{reportId}","href":"/reference/admin/expense-reports/get-expense-report-for-organization"},{"title":"Update expense report for organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/reports/{reportId}","href":"/reference/admin/expense-reports/update-expense-report-for-organization"},{"title":"Delete expense report for organization","description":"Soft-deletes an expense report: the report and every expense record in it are moved to status DELETED, the report's approval chains are removed and a DELETED change log entry is written. Nothing is removed from the database, and a deleted report is no longer returned by the read endpoints. It is idempotent - deleting an already deleted report answers 204 as well - and it has no status or report-type restriction. The report must belong to the organization in the path.\nIt requires the `adminApiExpenseReports:deleteExpenseReport` permission, which is given to the same roles as `adminApiExpenseReports:updateExpenseReport`. The caller must also be allowed to modify reports in the organization, so a consultant with the read-only report viewer role is denied.\n","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/reports/{reportId}","href":"/reference/admin/expense-reports/delete-expense-report-for-organization"},{"title":"Send an expense report","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/reports/{reportId}/send","href":"/reference/admin/expense-reports/send-an-expense-report"},{"title":"Delete the external voucher info of an expense report","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/reports/{reportId}/externalvoucher","href":"/reference/admin/expense-reports/delete-the-external-voucher-info-of-an-expense-report"},{"title":"List expense report exports for an organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{id}/expensereportsexports","href":"/reference/admin/expense-reports/list-expense-report-exports-for-an-organization"},{"title":"Download an expense report export","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{id}/expensereportsexports/{expenseReportExportId}","href":"/reference/admin/expense-reports/download-an-expense-report-export"},{"title":"Perform an action on an expense report export","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{id}/expensereportsexports/{expenseReportExportId}","href":"/reference/admin/expense-reports/perform-an-action-on-an-expense-report-export"},{"title":"Delete an expense report export","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{id}/expensereportsexports/{expenseReportExportId}","href":"/reference/admin/expense-reports/delete-an-expense-report-export"},{"title":"List expense reports","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /partners/{partnerId}/reports","href":"/reference/admin/expense-reports/list-expense-reports"},{"title":"Get expense report","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /partners/{partnerId}/reports/{reportId}","href":"/reference/admin/expense-reports/get-expense-report"}]},{"group":"ExpenseService","pages":[{"title":"List expense service categories","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/expenseservice/categories","href":"/reference/admin/expenseservice/list-expense-service-categories"},{"title":"Create expense service category","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/expenseservice/categories","href":"/reference/admin/expenseservice/create-expense-service-category"},{"title":"Get expense service category","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/expenseservice/categories/{id}","href":"/reference/admin/expenseservice/get-expense-service-category"},{"title":"Update expense service category","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/expenseservice/categories/{id}","href":"/reference/admin/expenseservice/update-expense-service-category"},{"title":"Delete expense service category","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/expenseservice/categories/{id}","href":"/reference/admin/expenseservice/delete-expense-service-category"}]},{"group":"Approval","pages":[{"title":"Get approval setup","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/approval","href":"/reference/admin/approval/get-approval-setup"},{"title":"Create (activate) main approval setup","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/approval","href":"/reference/admin/approval/create-activate-main-approval-setup"},{"title":"Update main approval setup","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/approval/{approvalId}","href":"/reference/admin/approval/update-main-approval-setup"},{"title":"Deactivate (DELETE) main approval setup","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/approval/{approvalId}","href":"/reference/admin/approval/deactivate-delete-main-approval-setup"},{"title":"List approval sections","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/approval/sections","href":"/reference/admin/approval/list-approval-sections"},{"title":"Create an approval section","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/approval/sections","href":"/reference/admin/approval/create-an-approval-section"},{"title":"Update an approval section","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/approval/sections/{sectionId}","href":"/reference/admin/approval/update-an-approval-section"},{"title":"Delete an approval section","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/approval/sections/{sectionId}","href":"/reference/admin/approval/delete-an-approval-section"},{"title":"List approvers of an approval section","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/approval/sections/{sectionId}/approvers","href":"/reference/admin/approval/list-approvers-of-an-approval-section"},{"title":"Add an approver to an approval section item","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/approval/sections/{sectionId}/approvers","href":"/reference/admin/approval/add-an-approver-to-an-approval-section-item"},{"title":"Update an approver on an approval section item","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/approval/sections/{sectionId}/approvers/{approverId}","href":"/reference/admin/approval/update-an-approver-on-an-approval-section-item"},{"title":"Delete an approver from an approval section item","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/approval/sections/{sectionId}/approvers/{approverId}","href":"/reference/admin/approval/delete-an-approver-from-an-approval-section-item"}]},{"group":"Dimensions","pages":[{"title":"List custom dimension definitions","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/customdimensions","href":"/reference/admin/dimensions/list-custom-dimension-definitions"},{"title":"Create custom dimension definition","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/customdimensions","href":"/reference/admin/dimensions/create-custom-dimension-definition"},{"title":"Get custom dimension definition","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/customdimensions/{definitionId}","href":"/reference/admin/dimensions/get-custom-dimension-definition"},{"title":"Update custom dimension definition","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/customdimensions/{definitionId}","href":"/reference/admin/dimensions/update-custom-dimension-definition"},{"title":"Delete custom dimension definition","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/customdimensions/{definitionId}","href":"/reference/admin/dimensions/delete-custom-dimension-definition"},{"title":"List custom dimension values","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/customdimensions/{definitionId}/values","href":"/reference/admin/dimensions/list-custom-dimension-values"},{"title":"Create custom dimension value","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/customdimensions/{definitionId}/values","href":"/reference/admin/dimensions/create-custom-dimension-value"},{"title":"Get custom dimension value","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/customdimensions/{definitionId}/values/{valueId}","href":"/reference/admin/dimensions/get-custom-dimension-value"},{"title":"Update custom dimension value","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/customdimensions/{definitionId}/values/{valueId}","href":"/reference/admin/dimensions/update-custom-dimension-value"},{"title":"Delete custom dimension value","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/customdimensions/{definitionId}/values/{valueId}","href":"/reference/admin/dimensions/delete-custom-dimension-value"}]},{"group":"Departments","pages":[{"title":"Create department","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/departments","href":"/reference/admin/departments/create-department"},{"title":"Get root department","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/departments/root","href":"/reference/admin/departments/get-root-department"},{"title":"List departments tree","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/departments/tree","href":"/reference/admin/departments/list-departments-tree"},{"title":"Get department","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/departments/{departmentId}","href":"/reference/admin/departments/get-department"},{"title":"Update department","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/departments/{departmentId}","href":"/reference/admin/departments/update-department"},{"title":"Delete department","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/departments/{departmentId}","href":"/reference/admin/departments/delete-department"}]},{"group":"Tax codes","pages":[{"title":"List tax codes","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/taxcodes","href":"/reference/admin/tax-codes/list-tax-codes"},{"title":"Create tax code","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/taxcodes","href":"/reference/admin/tax-codes/create-tax-code"},{"title":"Get tax code","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/taxcodes/{taxCodeId}","href":"/reference/admin/tax-codes/get-tax-code"},{"title":"Update tax code","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/taxcodes/{taxCodeId}","href":"/reference/admin/tax-codes/update-tax-code"},{"title":"Delete tax code","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/taxcodes/{taxCodeId}","href":"/reference/admin/tax-codes/delete-tax-code"},{"title":"List tax code values","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/taxcodes/{taxCodeId}/values","href":"/reference/admin/tax-codes/list-tax-code-values"},{"title":"Create tax code value","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/taxcodes/{taxCodeId}/values","href":"/reference/admin/tax-codes/create-tax-code-value"},{"title":"Get tax code value","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/taxcodes/{taxCodeId}/values/{valueId}","href":"/reference/admin/tax-codes/get-tax-code-value"},{"title":"Update tax code value","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/taxcodes/{taxCodeId}/values/{valueId}","href":"/reference/admin/tax-codes/update-tax-code-value"},{"title":"Delete tax code value","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/taxcodes/{taxCodeId}/values/{valueId}","href":"/reference/admin/tax-codes/delete-tax-code-value"}]},{"group":"VAT","pages":[{"title":"Get available VAT rates for an organization based on VAT mode","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/vatsettings/{vatMode}","href":"/reference/admin/vat/get-available-vat-rates-for-an-organization-based-on-vat-mode"},{"title":"Update VAT settings for an organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/vatsettings","href":"/reference/admin/vat/update-vat-settings-for-an-organization"}]},{"group":"Users","pages":[{"title":"List users","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/users","href":"/reference/admin/users/list-users"},{"title":"Create user","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/users","href":"/reference/admin/users/create-user"},{"title":"Update user","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/users/{userId}","href":"/reference/admin/users/update-user"},{"title":"Delete user","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/users/{userId}","href":"/reference/admin/users/delete-user"}]},{"group":"Employee Groups","pages":[{"title":"List employee groups","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/employeegroups","href":"/reference/admin/employee-groups/list-employee-groups"},{"title":"Create employee group","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /organizations/{organizationId}/employeegroups","href":"/reference/admin/employee-groups/create-employee-group"},{"title":"Get employee group","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /organizations/{organizationId}/employeegroups/{employeeGroupId}","href":"/reference/admin/employee-groups/get-employee-group"},{"title":"Update employee group","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /organizations/{organizationId}/employeegroups/{employeeGroupId}","href":"/reference/admin/employee-groups/update-employee-group"},{"title":"Delete employee group","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /organizations/{organizationId}/employeegroups/{employeeGroupId}","href":"/reference/admin/employee-groups/delete-employee-group"}]},{"group":"Carbon emissions","pages":[{"title":"Get the total amount and emissions in the organization and categorize emissions to specific sources of emission","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/totaldataandbycategory","href":"/reference/admin/carbon-emissions/get-the-total-amount-and-emissions-in-the-organization-and-categorize-emissions-to-specific-sources-of-emission"},{"title":"Get top emitters","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/topemitters","href":"/reference/admin/carbon-emissions/get-top-emitters"},{"title":"Get the emissions data month by month","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/emissionmonthbymonth","href":"/reference/admin/carbon-emissions/get-the-emissions-data-month-by-month"},{"title":"Get the intensity of carbon emissions","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/carbonintensity","href":"/reference/admin/carbon-emissions/get-the-intensity-of-carbon-emissions"},{"title":"Get the emission data of distance","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/totaldistancedata","href":"/reference/admin/carbon-emissions/get-the-emission-data-of-distance"},{"title":"Get emissions by travel (road)","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/travelbyroad","href":"/reference/admin/carbon-emissions/get-emissions-by-travel-road"},{"title":"Request export of carbon emissions","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/export","href":"/reference/admin/carbon-emissions/request-export-of-carbon-emissions"},{"title":"List carbon emission exports","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/exports","href":"/reference/admin/carbon-emissions/list-carbon-emission-exports"},{"title":"Download carbon emission export","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/exports/{resourceId}","href":"/reference/admin/carbon-emissions/download-carbon-emission-export"},{"title":"Delete carbon emission export","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json delete /carbonemissions/exports/{resourceId}","href":"/reference/admin/carbon-emissions/delete-carbon-emission-export"},{"title":"Get latest added expenses by organization","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/getlatestaddedexpenses","href":"/reference/admin/carbon-emissions/get-latest-added-expenses-by-organization"},{"title":"Get the average carbon emission per kilometer","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/averageemissionperkm","href":"/reference/admin/carbon-emissions/get-the-average-carbon-emission-per-kilometer"},{"title":"Get carbon emissions per dimension type","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/dimensiontypeemissions","href":"/reference/admin/carbon-emissions/get-carbon-emissions-per-dimension-type"},{"title":"Get all dimensions used in carbon footprint","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/alluseddimensions","href":"/reference/admin/carbon-emissions/get-all-dimensions-used-in-carbon-footprint"},{"title":"Get commuting distances by vehicle and fuel type","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /carbonemissions/commutingoverview","href":"/reference/admin/carbon-emissions/get-commuting-distances-by-vehicle-and-fuel-type"}]},{"group":"Partners","pages":[{"title":"Create partner","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /partners","href":"/reference/admin/partners/create-partner"},{"title":"List of partner consultants","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /partners/{partnerId}/consultants","href":"/reference/admin/partners/list-of-partner-consultants"},{"title":"List partner organizations","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /partners/{partnerId}/organizations","href":"/reference/admin/partners/list-partner-organizations"},{"title":"Get partner details","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json get /partners/{partnerId}","href":"/reference/admin/partners/get-partner-details"},{"title":"Update partner","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json put /partners/{partnerId}","href":"/reference/admin/partners/update-partner"}]},{"group":"Bulk","pages":[{"title":"Execute a batch of admin API requests","deprecated":null,"version":null,"openapi":"/openapi/findity-admin-api.json post /bulk","href":"/reference/admin/bulk/execute-a-batch-of-admin-api-requests"}]}]},{"group":"Findity Admin API V0","pages":[{"group":"Licenses","pages":[{"title":"V0 - Get list of licenses","openapi":"openapi/findity-admin-api-1.json GET /clientapplications/{clientApplicationId}/licensedata/","href":"/reference/4eb6c64b-1fdd-4160-ad57-b7f1342e63cd"},{"title":"V0 - List organization licenses","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/licensedata/","href":"/reference/c8351303-8b26-4f04-80a4-6fbe6b8cb754"},{"title":"V0 - List partner licenses","openapi":"openapi/findity-admin-api-1.json GET /partners/{partnerId}/licensedata/","href":"/reference/0b372159-1813-4d87-84d0-6fa4938c7097"}]},{"group":"Dimensions","pages":[{"title":"V0 - Update dimensions (externalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/externalid/{externalId}/customdimensions/","href":"/reference/d2ad51c8-d180-436c-a5b2-dc30b749b68a"},{"title":"V0 - Update dimensions (internalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/{internalId}/customdimensions/","href":"/reference/2147aae6-6ae4-457d-81f1-1f9e488bf5a2"},{"title":"V0 - Manage values (internalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/{internalId}/customdimensions/{definitionInternalId}/list/","href":"/reference/52742a94-8a23-482f-8c36-b6a243554a4b"},{"title":"V0 - Manage values (externalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/externalid/{externalId}/customdimensions/{definitionExternalId}/list/","href":"/reference/457ea28e-83fb-4f24-86f7-b09a24c8c74a"},{"title":"V0 - List dimensions (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/customdimensions/","href":"/reference/72a0daeb-3248-4ed5-a3e1-a886d02b9eb8"},{"title":"V0 - List dimensions (internalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/customdimensions/","href":"/reference/bd498c1c-9071-4e58-9ada-e9948aa23c68"},{"title":"V0 - Get the list with values (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/customdimensions/{definitionExternalId}/list/","href":"/reference/4e4c4985-0873-4c54-90e6-4b869c3ad3ed"},{"title":"V0 - Get the list with values (internalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/customdimensions/{definitionInternalId}/list/","href":"/reference/4ded773e-0461-4251-875b-149ba7b6ef38"},{"title":"V0 - Get the list of approvers on values (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/customdimensions/{definitionExternalId}/list/approvers/","href":"/reference/073d7b4a-b6f5-4902-ad53-554a76ac178d"},{"title":"V0 - Manage approvers on values (internalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/{internalId}/customdimensions/{definitionInternalId}/list/approvers/","href":"/reference/9559fc37-656e-43d8-b03c-cc8e9b71d339"},{"title":"V0 - Manage approvers on values (externalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/externalid/{externalId}/customdimensions/{definitionExternalId}/list/approvers/","href":"/reference/e27b1441-7a53-4e4a-9d1f-60028944d800"}]},{"group":"Reports","pages":[{"title":"V0 - List Reports (internalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/expensereports","href":"/reference/cc39ce0d-db17-43fe-bc76-3d0ca79ae42d"},{"title":"V0 - List Reports (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/expensereports/","href":"/reference/35ad2968-c199-466c-b801-300d11f8c1ef"},{"title":"V0 - Get Report","openapi":"openapi/findity-admin-api-1.json GET /expensereports/{reportId}","href":"/reference/9ece1593-5362-4079-9a1b-df9a2d9fd8f7"},{"title":"V0 - Update report status","openapi":"openapi/findity-admin-api-1.json PUT /expensereports/{reportId}/setstatus/{status}","href":"/reference/c5709fad-37fe-49dc-b75d-16efb31ee2b3"},{"title":"V0 - Bulk send expense reports","openapi":"openapi/findity-admin-api-1.json PUT /expensereports/bulksendreports","href":"/reference/bulksendexpensereports"}]},{"group":"Organizations","pages":[{"title":"V0 - List organizations","openapi":"openapi/findity-admin-api-1.json GET /organizations/","href":"/reference/organizations-4"},{"title":"V0 - Get organization (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/","href":"/reference/9eec9c73-7c47-4f0f-848c-c87586eba4e3"},{"title":"V0 - Get organization (internalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/","href":"/reference/fc7db250-eb85-4218-b94e-60614651fabe"},{"title":"V0 - Create/Update organization (externalId)","openapi":"openapi/findity-admin-api-1.json POST /organizations/externalid/{externalId}/","href":"/reference/257a0f44-181f-4663-a675-93b37685871f"},{"title":"V0 - Update organization (internalId)","openapi":"openapi/findity-admin-api-1.json POST /organizations/{internalId}/","href":"/reference/72ac2457-63fc-4fe9-a76a-6f977bdc0e9d"},{"title":"V0 - Delete organization (externalId)","openapi":"openapi/findity-admin-api-1.json DELETE /organizations/externalid/{externalId}/","href":"/reference/9e662b90-aaf6-413b-8889-63c3eb9ba54d"},{"title":"V0 - Delete organization (internalId)","openapi":"openapi/findity-admin-api-1.json DELETE /organizations/{internalId}/","href":"/reference/beb8e569-69c8-47a2-a177-b182592733b8"},{"title":"V0 - Report Counters (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/reportcounters/","href":"/reference/391b0ade-2a8f-4e51-ab3f-c085510f3ab2"},{"title":"V0 - Lookup organization","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/lookup/","href":"/reference/e4f63203-db66-4d71-bd81-6d08ee1f1bb8"},{"title":"V0 - Report Counters (internalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/reportcounters/","href":"/reference/30168bd1-5f4b-42db-ae02-c697abba16ea"}]},{"group":"Partners","pages":[{"title":"V0 - List Partners","openapi":"openapi/findity-admin-api-1.json GET /partners/","href":"/reference/befe11fc-8000-4e2e-b715-329e28089876"},{"title":"V0 - Create partner","openapi":"openapi/findity-admin-api-1.json POST /partners/","href":"/reference/417c19b9-f840-4259-9420-ae4cda4830eb"},{"title":"V0 - Update partner","openapi":"openapi/findity-admin-api-1.json PUT /partners/{id}/","href":"/reference/7ba94600-5bce-432e-af4a-1a1ba9d71ee0"}]},{"group":"Files","pages":[{"title":"V0 - Get export file","openapi":"openapi/findity-admin-api-1.json GET /expensereportsexport/{fileId}","href":"/reference/bc57d1f0-b38b-4045-a516-a72aa36e8372"},{"title":"V0 - Get list of files","openapi":"openapi/findity-admin-api-1.json GET /expensereportsexports/","href":"/reference/e1d32581-77e0-41ce-ad15-2ff6ad09b8cf"}]},{"group":"Person","pages":[{"title":"V0 - Get Person (externalId)","openapi":"openapi/findity-admin-api-1.json GET /person/externalid/{externalId}","href":"/reference/31d6a9f6-0854-45c6-ae5d-ad0d9d2bc84f"},{"title":"V0 - Get Person (internalId)","openapi":"openapi/findity-admin-api-1.json GET /person/{internalId}","href":"/reference/8f487890-5426-47e8-9afc-87cff3bbec21"},{"title":"V0 - Update person (internalId)","openapi":"openapi/findity-admin-api-1.json PUT /person/{internalId}","href":"/reference/2f6b863e-d41d-44c5-8cd9-265736684c1d"}]},{"group":"Users","pages":[{"title":"V0 - List users (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/users/","href":"/reference/7a90bb94-4125-428c-ac35-0d330733bfbb"},{"title":"V0 - List users (internalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/users/","href":"/reference/2809770e-a869-4973-a99b-96e4a08bce06"},{"title":"V0 - Add, update or remove employee (externalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/externalid/{externalId}/users/","href":"/reference/4c0f9beb-7beb-439f-8021-889586914d9d"},{"title":"V0 - Add, update or remove employee (internalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/{internalId}/users/","href":"/reference/870c6890-0ea4-4df3-b4eb-74f03c0acc6f"}]},{"group":"Custom fields","pages":[{"title":"V0 - List definitions","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/customfields/","href":"/reference/43c19741-6838-40e8-83b3-fc736b0dd57b"},{"title":"V0 - Update definitions","openapi":"openapi/findity-admin-api-1.json PUT /organizations/{internalId}/customfields/","href":"/reference/15530c1b-c3fc-4f4b-9d5e-a300ee008c04"},{"title":"V0 - Get the list with values","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/customdimensions/{definitionExternalId}/list","href":"/reference/36e50afa-6b76-49f7-94ed-3690f8413e46"},{"title":"V0 - Manage values","openapi":"openapi/findity-admin-api-1.json PUT /organizations/externalid/{externalId}/customdimensions/{definitionExternalId}/list","href":"/reference/b6145386-b590-4b62-ab51-13308f84542d"}]},{"group":"Organizational Units","pages":[{"title":"V0 - List Organizational Units (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/organizationalunits/","href":"/reference/f17b271a-6fec-432c-81bb-e7edd4b39ffe"},{"title":"V0 - List Organizational Units (internalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/organizationalunits/","href":"/reference/1918cb36-da39-4668-b681-464634f7d8b7"},{"title":"V0 - Update Organizational Units (externalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/externalid/{externalId}/organizationalunits/","href":"/reference/5d7d25d5-0fe1-471e-9029-0225c19f450e"},{"title":"V0 - Update Organizational Units (internalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/organizationalunits/","href":"/reference/89aa49f3-23ef-42da-ad71-abd2e9a265ab"}]},{"group":"Accounting Consultants","pages":[{"title":"V0 - List Accounting Consultants (internalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/{internalId}/accountingconsultants/","href":"/reference/73a843e9-be14-429e-9118-a9b2f300f9ab"},{"title":"V0 - List Accounting Consultants (externalId)","openapi":"openapi/findity-admin-api-1.json GET /organizations/externalid/{externalId}/accountingconsultants/","href":"/reference/1cf073cd-8ed0-4095-8e40-1678f155ced6"},{"title":"V0 - Add/remove Accounting Consultant (externalId)","openapi":"openapi/findity-admin-api-1.json PUT /organizations/externalid/{externalId}/accountingconsultants/","href":"/reference/7c039449-25b8-4c51-9ba3-c1939d684632"}]}]},{"group":"Findity Connect API","pages":[{"group":"Exports","root":{"title":"Exports","href":"/reference/exports"},"pages":[{"title":"List exports","deprecated":null,"version":null,"openapi":"/openapi/findity-connect-api.json get /organizations/{organizationId}/exports","href":"/reference/connect/exports/list-exports"},{"title":"Get export","deprecated":null,"version":null,"openapi":"/openapi/findity-connect-api.json get /organizations/{organizationId}/exports/{exportId}","href":"/reference/connect/exports/get-export"},{"title":"Get export vouchers","deprecated":null,"version":null,"openapi":"/openapi/findity-connect-api.json get /organizations/{organizationId}/exports/{exportId}/export","href":"/reference/connect/exports/get-export-vouchers"},{"title":"Process export","deprecated":null,"version":null,"openapi":"/openapi/findity-connect-api.json put /organizations/{organizationId}/exports/{exportId}/updatestatus","href":"/reference/connect/exports/process-export"},{"title":"Get export content","deprecated":null,"version":null,"openapi":"/openapi/findity-connect-api.json get /organizations/{organizationId}/exports/{exportId}/content","href":"/reference/connect/exports/get-export-content"},{"title":"Update export content","deprecated":null,"version":null,"openapi":"/openapi/findity-connect-api.json put /organizations/{organizationId}/exports/{exportId}/content","href":"/reference/connect/exports/update-export-content"}]},{"title":"Overview","href":"/reference/overview-2"},{"title":"Integration Webhook","href":"/reference/integration-webhook"},{"group":"Card transaction","pages":[{"title":"Add new card transaction","deprecated":null,"version":null,"openapi":"/openapi/findity-connect-api.json post /cardtransactions","href":"/reference/connect/card-transaction/add-new-card-transaction"}]}]}]},{"tab":"Changelog","icon":"bullhorn","pages":[{"title":"Changelog","href":"/changelog/may-2025"}]}]},"basePath":"","title":"Update expense report for organization - Findity Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-C945cI-W.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}