Soldo Expense Reviews API
The Expense Reviews API from Soldo — 7 operation(s) for expense reviews.
The Expense Reviews API from Soldo — 7 operation(s) for expense reviews.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/soldo-expense-reviews-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Soldo Business API v2.0 Expense Reviews API
description: Soldo Business API v2.0 OpenAPI specification
version: 5.56.0
servers:
- url: https://api.soldo.com
description: Production server (using live data)
- url: https://api-demo.soldocloud.net
description: Sandbox server (using test data)
tags:
- name: Expense Reviews
paths:
/business/v2/expense-review/{userId}:
get:
tags:
- Expense Reviews
summary: Get Expense Review
description: Endpoint to get the `ExpenseReview` of a specific `User`.
operationId: expense-review-get
parameters:
- name: userId
in: path
required: true
schema:
type: string
description: The ID of the `User`.
example: XMPL1234-000001
- name: status
in: query
description: The status of the `ExpenseReview`.
schema:
type: array
description: The status of the `ExpenseReview`.
example: APPROVED
items:
$ref: '#/components/schemas/ExpenseStatus'
example: APPROVED
- name: fromDate
in: query
description: 'The beginning of the period of the search `fromDate` included (i.e. greater than or equal to) (Formats: `yyyy-MM-dd`, `yyyy-MM-ddThh:mm:ss`, `yyyy-MM-ddThh:mm:ssZ`).'
schema:
$ref: '#/components/schemas/DateParam'
example: '2020-04-06T12:48:40Z'
- name: toDate
in: query
description: 'The end of the period of the search `toDate` included (i.e. less than) (Formats: `yyyy-MM-dd`, `yyyy-MM-ddThh:mm:ss`, `yyyy-MM-ddThh:mm:ssZ`).'
schema:
$ref: '#/components/schemas/DateParam'
example: '2020-05-07T12:48:40Z'
- name: paymentMethod
in: query
description: It determines the filter by payment method of the transaction.
schema:
type: array
description: It determines the filter by payment method of the transaction.
items:
$ref: '#/components/schemas/ExpensePaymentMethod'
example: SUBSCRIPTION
- name: p
in: query
description: It indicates the specific page to display (the counter starts from zero).
schema:
type: integer
format: int32
default: 0
description: It indicates the specific page to display (the counter starts from zero).
example: 3
example: 3
- name: s
in: query
description: It indicates the number of items per page.
schema:
type: integer
format: int32
default: 0
description: It indicates the number of items per page.
example: 25
maximum: 50
example: 25
- name: d
in: query
description: It indicates how the pages are ordered.
schema:
$ref: '#/components/schemas/Direction'
example: DESC
- name: props
in: query
description: It indicates the sorting direction applied to the above parameters. To apply a sorting on multiple parameters, set as many times the `props` parameter in the request.
schema:
type: array
description: It indicates the sorting direction applied to the above parameters. To apply a sorting on multiple parameters, set as many times the `props` parameter in the request.
example: creationTime
items:
type: string
description: It indicates the sorting direction applied to the above parameters. To apply a sorting on multiple parameters, set as many times the `props` parameter in the request.
example: creationTime
example: creationTime
responses:
'200':
description: The returned resource is a `ExpenseReview`.
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseItem'
'404':
description: One or more resource requested does not exist.
security:
- standardAuth:
- expense_review_read
/business/v2/expense-review/{userId}/reminder:
post:
tags:
- Expense Reviews
summary: Send Expense Review Reminder
description: Endpoint to send a reminder of `ExpenseReview` to a specific `User`.
operationId: expense-review-reminder
parameters:
- name: userId
in: path
required: true
schema:
type: string
description: The ID of the `User`.
example: XMPL1234-000001
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SendExpensesReminder'
responses:
'204':
description: No content as result.
'400':
description: Your request has missing arguments or is malformed.
security:
- standardAuth:
- expense_review_read
/business/v2/expense-review/export-expenses/{userId}:
post:
tags:
- Expense Reviews
summary: Export Expense Review
description: Endpoint to export the `ExpenseReview` of a single `User`.
operationId: expense-review-export
parameters:
- name: userId
in: path
required: true
schema:
type: string
description: The `User` ID.
example: XMPL1234-000001
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportExpense'
responses:
'200':
description: The result is data containing `ExpenseReview` export.
content:
application/json:
schema:
$ref: '#/components/schemas/ExportExpenseReview'
'400':
description: Your request has missing arguments or is malformed.
'404':
description: One or more resource requested does not exist.
security:
- standardAuth:
- expense_review_write
/business/v2/expense-review:
get:
tags:
- Expense Reviews
summary: Search Expense Reviews
description: Endpoint to find users with `ExpenseReview` using filtering parameters.
operationId: expense-review-search
parameters:
- name: delegatedBy
in: query
schema:
type: array
description: Filters expenses by the user who delegated them.
example: XMPL1234-000001
items:
type: string
description: Filters expenses by the user who delegated them.
example: XMPL1234-000001
- name: fromDate
in: query
description: 'The beginning of the period of the search `fromDate` included (i.e. greater than or equal to) (Formats: `yyyy-MM-dd`, `yyyy-MM-ddThh:mm:ss`, `yyyy-MM-ddThh:mm:ssZ`).'
schema:
$ref: '#/components/schemas/DateParam'
example: '2020-04-06T12:48:40Z'
- name: toDate
in: query
description: 'The end of the period of the search `toDate` included (i.e. less than) (Formats: `yyyy-MM-dd`, `yyyy-MM-ddThh:mm:ss`, `yyyy-MM-ddThh:mm:ssZ`).'
schema:
$ref: '#/components/schemas/DateParam'
example: '2020-05-07T12:48:40Z'
- name: text
in: query
description: A text to search in the expenses reviewer name or surname.
schema:
type: string
description: A text to search in the expenses reviewer name or surname.
example: John
example: John
- name: p
in: query
description: It indicates the specific page to display (the counter starts from zero).
schema:
type: integer
format: int32
default: 0
description: It indicates the specific page to display (the counter starts from zero).
example: 3
example: 3
- name: s
in: query
description: It indicates the number of items per page.
schema:
type: integer
format: int32
default: 0
description: It indicates the number of items per page.
example: 25
maximum: 50
example: 25
- name: props
in: query
description: It indicates the sorting direction applied to the above parameters. To apply a sorting on multiple parameters, set as many times the `props` parameter in the request.
schema:
type: array
description: It indicates the sorting direction applied to the above parameters. To apply a sorting on multiple parameters, set as many times the `props` parameter in the request.
example: creationTime
items:
type: string
description: It indicates the sorting direction applied to the above parameters. To apply a sorting on multiple parameters, set as many times the `props` parameter in the request.
example: creationTime
example: creationTime
responses:
'200':
description: The returned resource is an array of `Expenses`.
content:
application/json:
schema:
$ref: '#/components/schemas/Expenses'
security:
- standardAuth:
- expense_review_read
/business/v2/transactions/{transactionId}/expense-review/change-type:
put:
tags:
- Expense Reviews
summary: Update Expense Review Type
description: Endpoint to update the type of an `ExpenseReview`.
operationId: expense-review-update-type
parameters:
- name: transactionId
in: path
required: true
schema:
type: string
description: The `Transaction` ID.
example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateExpenseType'
responses:
'204':
description: No content as result.
'400':
description: Your request has missing arguments or is malformed.
'404':
description: One or more resource requested does not exist.
security:
- standardAuth:
- expense_review_write
/business/v2/transactions/{transactionId}/expense-review/request-info:
put:
tags:
- Expense Reviews
summary: Request Expense Review Info
description: Endpoint to request info to an `User` about an `ExpenseReview`.
operationId: expense-review-request-info
parameters:
- name: transactionId
in: path
required: true
schema:
type: string
description: The `Transaction` ID.
example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RequestExpenseInfo'
responses:
'204':
description: No content as result.
'400':
description: Your request has missing arguments or is malformed.
'404':
description: One or more resource requested does not exist.
security:
- standardAuth:
- expense_review_write
/business/v2/transactions/{transactionId}/expense-review/update-status:
put:
tags:
- Expense Reviews
summary: Update Expense Review Status
description: Endpoint to update the status of an `ExpenseReview`.
operationId: expense-review-update-status
parameters:
- name: transactionId
in: path
required: true
schema:
type: string
description: The `Transaction` ID.
example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateExpenseStatus'
responses:
'204':
description: No content as result.
'400':
description: Your request has missing arguments or is malformed.
'404':
description: One or more resource requested does not exist.
security:
- standardAuth:
- expense_review_write
webhooks:
change_expense_type:
post:
tags:
- Expense Reviews
summary: Expense Review - Change Expense Type
description: A `Transaction` expense type has been changed.
operationId: webhook-expensereview-change-expense-type
parameters:
- name: X-Soldo-Fingerprint
in: header
required: true
schema:
type: string
default: '{{fingerprint}}'
description: '[Webhook authentication](ref:webhook-authentication): `SHA512SUM` of the fingerprint values listed in the fingerprint order for this webhook.'
example: '{{fingerprint}}'
- name: X-Soldo-Fingerprint-Order
in: header
required: true
schema:
type: string
default: startDate, policyUrl, enabled, transactionId
description: '[Webhook authentication](ref:webhook-authentication): The order of the values used to calculate the fingerprint.'
example: startDate, policyUrl, enabled, transactionId
- name: X-Soldo-Fingerprint-Signature
in: header
required: true
schema:
type: string
default: '{{fingerprint_signature}}'
description: '[Webhook authentication](ref:webhook-authentication): Signature of the `X-Soldo-Fingerprint`. It must be verified using the [Soldo public key](ref:soldo-public-key).'
example: '{{fingerprint_signature}}'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeExpenseTypeEvent'
responses:
'200':
description: Success.
x-soldo:
fingerprint-order: startDate, policyUrl, enabled, transactionId
updated_transaction:
post:
tags:
- Expense Reviews
summary: Expense Review - Updated Transaction
description: A `Transaction` has been update.
operationId: webhook-expensereview-updated-transaction
parameters:
- name: X-Soldo-Fingerprint
in: header
required: true
schema:
type: string
default: '{{fingerprint}}'
description: '[Webhook authentication](ref:webhook-authentication): `SHA512SUM` of the fingerprint values listed in the fingerprint order for this webhook.'
example: '{{fingerprint}}'
- name: X-Soldo-Fingerprint-Order
in: header
required: true
schema:
type: string
default: startDate, policyUrl, enabled, transactionId
description: '[Webhook authentication](ref:webhook-authentication): The order of the values used to calculate the fingerprint.'
example: startDate, policyUrl, enabled, transactionId
- name: X-Soldo-Fingerprint-Signature
in: header
required: true
schema:
type: string
default: '{{fingerprint_signature}}'
description: '[Webhook authentication](ref:webhook-authentication): Signature of the `X-Soldo-Fingerprint`. It must be verified using the [Soldo public key](ref:soldo-public-key).'
example: '{{fingerprint_signature}}'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatedTransactionEvent'
responses:
'200':
description: Success.
x-soldo:
fingerprint-order: startDate, policyUrl, enabled, transactionId
completed_transactions_import:
post:
tags:
- Expense Reviews
summary: Expense Review - Transaction Import Completed
description: A `Transaction` import has been completed.
operationId: webhook-expensereview-completed-transactions-import
parameters:
- name: X-Soldo-Fingerprint
in: header
required: true
schema:
type: string
default: '{{fingerprint}}'
description: '[Webhook authentication](ref:webhook-authentication): `SHA512SUM` of the fingerprint values listed in the fingerprint order for this webhook.'
example: '{{fingerprint}}'
- name: X-Soldo-Fingerprint-Order
in: header
required: true
schema:
type: string
default: startDate, policyUrl, enabled, transactionId
description: '[Webhook authentication](ref:webhook-authentication): The order of the values used to calculate the fingerprint.'
example: startDate, policyUrl, enabled, transactionId
- name: X-Soldo-Fingerprint-Signature
in: header
required: true
schema:
type: string
default: '{{fingerprint_signature}}'
description: '[Webhook authentication](ref:webhook-authentication): Signature of the `X-Soldo-Fingerprint`. It must be verified using the [Soldo public key](ref:soldo-public-key).'
example: '{{fingerprint_signature}}'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompletedTransactionsImportEvent'
responses:
'200':
description: Success.
x-soldo:
fingerprint-order: startDate, policyUrl, enabled, transactionId
components:
schemas:
ExpenseDateType:
type: string
enum:
- TRANSACTION
- SETTLEMENT
UpdateExpenseType:
properties:
type:
$ref: '#/components/schemas/ExpenseType'
description: The type of the `Transaction` expense.
example: TRAVEL_AND_ENTERTAINMENT
approver_id:
type: string
description: The ID of the 'SuperAdmin' `user` who approves/rejects the `expenseReview`.
example: XMPL1234-000003
required:
- approver_id
- type
ChangeExpenseTypeEvent:
properties:
event_uuid:
type: string
description: The webhook unique ID.
example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
event_type:
$ref: '#/components/schemas/WebhookEventType'
default: ExpenseReview
description: The webhook event type.
example: ExpenseReview
event_name:
$ref: '#/components/schemas/WebhookEventName'
default: change_expense_type
description: The webhook event name.
example: change_expense_type
company_account_id:
type: string
description: The company account ID.
example: XMPL1234
data:
$ref: '#/components/schemas/ExpenseReview'
description: The webhook `ExpenseReview` data.
subscription_id:
type: string
description: The webhook subscription ID used to route this event.
example: 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
ExportExpense:
description: Export the Expenses JSON parameters.
properties:
transaction_ids:
type: array
description: An array of `Transaction` ID to be exported
example:
- 7bf79328-a7ae-4222-aa54-091ff7f429a7
- 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
items:
type: string
exported_by_id:
type: string
description: The ID of the `User` who exports the expense.
example: XMPL1234-000003
required:
- transaction_ids
ExpenseItem:
properties:
user_id:
type: string
description: 'The ID of the `User` (sortable: no).'
example: XMPL1234-000001
user_name:
type: string
description: 'The name of the `User` (sortable: yes).'
example: JOHN
user_surname:
type: string
description: 'The surname of the `User` (sortable: yes).'
example: DOE
job_title:
type: string
description: 'The job title of the `User` (sortable: yes).'
example: CTO
to_review_transaction:
type: integer
format: int64
description: 'The number of the `Transaction` items in status `TO_REVIEW` (sortable: no).'
example: 1
reviewed_transaction:
type: integer
format: int64
description: 'The number of the `Transaction` items in status `REVIEWED` (sortable: no).'
example: 2
exported_transaction:
type: integer
format: int64
description: 'The number of the `Transaction` items in status `EXPORTED` (sortable: no).'
example: 1
total_transaction:
type: integer
format: int64
description: 'The number of `Transaction` items (sortable: no).'
example: 3
from_date:
type: string
description: 'The beginning of the period of the search (sortable: no).'
example: '2017-06-01T12:48:40Z'
to_date:
type: string
description: 'The end of the period of the search (sortable: no).'
example: '2017-06-05T12:48:40Z'
transaction_to_review:
type: array
description: 'The array contains ID of the `Transaction` in status `TO_REVIEW` (sortable: no).'
example:
- 7bf79328-a7ae-4222-aa54-091ff7f429a7
- 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
items:
type: string
transaction_reviewed:
type: array
description: 'The array contains ID of the `Transaction` in status `REVIEWED` (sortable: no).'
example:
- 7bf79328-a7ae-4222-aa54-091ff7f429a7
- 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
items:
type: string
transaction_exported:
type: array
description: 'The array array contains ID of the `Transaction` in status `EXPORTED` (sortable: no).'
example:
- 7bf79328-a7ae-4222-aa54-091ff7f429a7
- 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
items:
type: string
SendExpensesReminder:
description: Send Expense reminder JSON parameters.
properties:
request_timestamp:
type: integer
format: int64
description: The epoch timestamp in millis. This is checked in Soldo. Requests with timestamp older than 5 seconds will be rejected.
example: 1576850500000
from_date:
$ref: '#/components/schemas/DateParam'
description: 'The beginning of the period of the search `fromDate` included (i.e. greater than or equal to) (Formats: `yyyy-MM-dd`, `yyyy-MM-ddThh:mm:ss`, `yyyy-MM-ddThh:mm:ssZ`).'
example: '2020-04-06T12:48:40Z'
to_date:
$ref: '#/components/schemas/DateParam'
description: 'The end of the period of the search `toDate` included (i.e. less than) (Formats: `yyyy-MM-dd`, `yyyy-MM-ddThh:mm:ss`, `yyyy-MM-ddThh:mm:ssZ`).'
example: '2020-05-07T12:48:40Z'
required:
- from_date
- request_timestamp
- to_date
DateParam:
description: 'The end of the period of the search `toDate` included (i.e. less than) (Formats: `yyyy-MM-dd`, `yyyy-MM-ddThh:mm:ss`, `yyyy-MM-ddThh:mm:ssZ`).'
example: '1970-01-30'
ExpenseType:
type: string
enum:
- COMPANY
- PERSONAL
- TRAVEL_AND_ENTERTAINMENT
WebhookEventType:
type: string
enum:
- BusinessTrip
- Card
- Contact
- ExpenseReview
- Group
- OnlineAds
- Order
- Purchase
- Subscription
- Transaction
- TransactionAttachment
- Employee
- Vehicle
- Wallet
ExpenseReview:
properties:
transaction_id:
type: string
description: The ID of the `Transaction`.
expense_status:
type: string
description: The status of the expense.
expense_status_category:
type: string
description: The status category of the expense.
expense_type:
type: string
description: The type of the expense.
expense_date:
type: string
description: The date of the expense.
expense_reviewer:
type: string
description: The review of the expense.
transaction_ids:
type: array
description: The `Transaction` IDs of the `ExpenseReport`.
example:
- 7bf79328-a7ae-4222-aa54-091ff7f429a7
- 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
items:
type: string
expense_report_protocol_ids:
type: array
description: The `ExpenseReport` protocol IDs of the `ExpenseReport`.
example:
- 7bf79328-a7ae-4222-aa54-091ff7f429a7
- 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
items:
type: string
expense_report_id:
type: string
description: The ID of the `ExpenseReport`.
CompletedTransactionsImportEvent:
properties:
event_uuid:
type: string
description: The webhook unique ID.
example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
event_type:
$ref: '#/components/schemas/WebhookEventType'
default: ExpenseReviewConfiguration
description: The webhook event type.
example: ExpenseReviewConfiguration
event_name:
$ref: '#/components/schemas/WebhookEventName'
default: completed_transactions_import
description: The webhook event name.
example: completed_transactions_import
company_account_id:
type: string
description: The company account ID.
example: XMPL1234
data:
$ref: '#/components/schemas/ExpenseReviewConfiguration'
description: The webhook `ExpenseReview` data.
subscription_id:
type: string
description: The webhook subscription ID used to route this event.
example: 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
Expenses:
properties:
total:
type: integer
format: int32
description: It represents the total number of available items in the list.
example: 168
pages:
type: integer
format: int32
description: It represents the total number of available pages.
example: 7
page_size:
type: integer
format: int32
description: It represents the number of items per page.
example: 25
current_page:
type: integer
format: int32
description: It indicates the current page (the counter starts from zero).
example: 0
results_size:
type: integer
format: int32
description: It indicates the size of the array results.
example: 25
results:
type: array
items:
$ref: '#/components/schemas/Expense'
ExpenseStatusCategory:
type: string
enum:
- AGAINST_POLICY
- PERSONAL_EXPENSE
- OTHER
ExpenseConfigurationActivityGroup:
type: string
enum:
- USER
- COMPANY
- PURCHASE
- SUBSCRIPTION
- ONLINE_ADS
- OUT_OF_PLATFORM_COMPANY
- OUT_OF_PLATFORM_PERSONAL
Direction:
type: string
description: It indicates how the pages are ordered.
enum:
- ASC
- DESC
example: DESC
UpdatedTransactionEvent:
properties:
event_uuid:
type: string
description: The webhook unique ID.
example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
event_type:
$ref: '#/components/schemas/WebhookEventType'
default: ExpenseReview
description: The webhook event type.
example: ExpenseReview
event_name:
$ref: '#/components/schemas/WebhookEventName'
default: updated_transaction
description: The webhook event name.
example: updated_transaction
company_account_id:
type: string
description: The company account ID.
example: XMPL1234
data:
$ref: '#/components/schemas/ExpenseReview'
description: The webhook `ExpenseReview` data.
subscription_id:
type: string
description: The webhook subscription ID used to route this event.
example: 2d65bd5e-3fdf-4002-b166-bde7fb8863fa
Expense:
properties:
user_id:
type: string
description: 'The ID of the `User` (sortable: no).'
example: XMPL1234-000001
user_name:
type: string
description: 'The name of the `User` (sortable: yes).'
example: JOHN
user_surname:
type: string
description: 'The surname of the `User` (sortable: yes).'
example: DOE
job_title:
type: string
description: 'The job title of the `User` (sortable: yes).'
example: CTO
to_review_transaction:
type: integer
format: int64
description: 'The number of the `Transaction` items in status `TO_REVIEW` (sortable: no).'
example: 1
reviewed_transaction:
type: integer
format: int64
description: 'The number of the `Transaction` items in status `REVIEWED` (sortable: no).'
example: 2
exported_transaction:
type: integer
format: int64
description: 'The number of the `Transaction` items in status `EXPORTED` (sortable: no).'
example: 1
total_transaction:
type: integer
format: int64
description: 'The number of `Transaction` items (sortable: no).'
example: 3
ExpensePaymentMethod:
type: string
description: It determines the filter by payment method of the transaction.
enum:
- USER
- COMPANY
- PURCHASE
- SUBSCRIPTION
- ONLINE_ADS
- OUT_OF_PLATFORM_COMPANY
- OUT_OF_PLATFORM_PERSONAL
ExpenseReviewConfiguration:
properties:
start_date:
type: string
description: The starting date from which the expenses can be reviewed.
example: '2017-06-01T12:48:40Z'
transaction_categories:
type: array
description: It determines the filter by category of the `Transaction`.
items:
$ref: '#/components/schemas/ExpenseTransactionCategory'
uniqueItems: true
activity_groups:
type: array
description: It determines the filter by types of `Cards` whose `Transactions` are considered as expenses to be reviewed.
items:
$ref: '#/components/schemas/ExpenseConfigurationActivityGroup'
uniqueItems: true
policy_url:
type: string
description: The url of the company spending policy
example: https://www.policy.pdf
start_date_type:
$ref: '#/components/schemas/ExpenseDateType'
description: It determines the type of date filter to be used.
example: SETTLEMENT
enabled:
type: boolean
description: Indicates `ExpenseReview` configuration is enabled.
locked:
type: boolean
description: Indicates `ExpenseReview` configuration is locked.
example: false
update_timestamp:
type: string
description: The date and time when the configuration was last updated.
example: '2017-06-01T12:48:40Z'
UpdateExpenseStatus:
properties:
status:
$ref: '#/components/schemas/ExpenseStatus'
description: The expense status of the transaction.
example: APPROVED
status_category:
$ref: '#/components/schemas/ExpenseStatusCategory'
description: The status category of the transaction expense.
example: AGAINST_POLICY
status_reason:
type: string
description: The reason of the status.
example: Expense violates company's reimbursement policy
approver_id:
type: string
description: The ID of the SuperAdmin `User` who approves/rejects the `ExpenseReport`.
example: XMPL1234-000003
required:
- approver_id
- status
- status_category
WebhookEventName:
type: string
enum:
- business_trip_created
- business_trip_update
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/soldo/refs/heads/main/openapi/soldo-expense-reviews-api-openapi.yml