Skip to main content
POST

Authorizations

Authorization
string
header
required

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

Query Parameters

include
enum<string>[]

optional properties to include

Available options:
verification,
meta.abbreviation,
meta.abbreviation.labels,
meta.person,
meta.capabilities,
meta.cardTransaction,
meta.splits,
validationErrors
forceSave
boolean

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

Body

application/json

ExpenseRecord format

organizationId
string
required

UUID without dashes (32-character hex string)

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

UUID without dashes (32-character hex string)

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

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

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.

expenseReportId
string

UUID without dashes (32-character hex string)

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

Response

OK

ExpenseRecord format

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

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.

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}$