Skip to main content
PUT

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

expenseId
string
required

The id of the expense to retrieve UUID without dashes (32-character hex string)

Pattern: ^[0-9a-fA-F]{32}$

Query Parameters

format
string
required

Info about the structure passed in the body of request Parameter should be set to 'fields' value

forceSave
boolean

When true, saves the report even if non-blocking validation warnings exist; validation errors still abort. Defaults to false.

organizationId
string

The id of the organization UUID without dashes (32-character hex string)

Pattern: ^[0-9a-fA-F]{32}$
expenseType
enum<string>

The expense type of the expense

Available options:
CarSpecification,
FoodBenefitsSpecification,
ReceiptVerification,
SubsistenceAllowance

Body

application/json

Fields format of expense record

fields
object[]

Field-builder array describing the editable properties of the resource. Each entry pairs a property name with a value and any errors.

validationErrors
object[]

Response-only. Server-populated array of validation errors that apply to the resource as a whole (not tied to a specific field).

Response

OK

ExpenseRecord format

id
string
read-only
status
enum<string>
read-only
Available options:
NEW,
NORMAL,
APPROVAL,
APPROVED,
REJECTED
processStatus
enum<string>
read-only

Simplified status of the expense record: DRAFT while it is editable, REJECTED when rejected in approval, PROCESSING while in approval or transfer, and PROCESSED once sent or paid. Omitted when it cannot be derived from status.

Available options:
DRAFT,
REJECTED,
PROCESSING,
PROCESSED
personId
string

UUID without dashes (32-character hex string)

Pattern: ^[0-9a-fA-F]{32}$
dateCreated
string
read-only
lastUpdated
string
read-only
version
integer<int64>

Optimistic-lock counter, incremented on every update. On PUT, echo back the value from the last GET/PUT response to detect if the expense was changed by someone else since it was read; a mismatch returns 409. Optional; omit to skip this check. For the actions without a request body (action=send, action=merge, action=connectToOrganization and DELETE), pass it as the version query parameter instead.

expenseDate
string
read-only

Date that the user has selected for the expense. For receipt expenses it is purchase date. For mileages it is travel date and for per diems it is the first travel date.

organizationId
string

UUID without dashes (32-character hex string)

Pattern: ^[0-9a-fA-F]{32}$
categoryId
string

UUID without dashes (32-character hex string)

Pattern: ^[0-9a-fA-F]{32}$
rejectComment
string
read-only
reimbursement
number
read-only
reimbursementCurrency
string
read-only
meta
object
read-only
verification
object

The expense-type-specific payload — receipt details, mileage details, per-diem details, or food-benefit details. Shape selected by the nested type discriminator.

expenseReportId
string

UUID without dashes (32-character hex string)

Pattern: ^[0-9a-fA-F]{32}$