Update expense transaction

Updates the expense details of a transaction. The identifier can be the card transaction ID (CTX-...) or its expense ID (EXP-...). Send only the fields you want to change.

Get valid IDs for each field from:

status is one of incomplete, pending_review, ready, or synced. If you don't send status, an incomplete expense moves to pending_review automatically once it's ready for review, for example when all required fields are filled.

The response is {"success": true} with the updated transaction in data, in the same shape as Fetch expense transaction details. An unknown or inactive identifier returns 422 with VALIDATION_ERROR; so does a vendor whose currency differs from the transaction's (Wafeq vendors are exempt).

Path Params
string
required

Unique identifier of the expense transaction

Body Params
string

Description of the expense.

string

Identifier of the expense category to assign.

string
enum

Expense accounting status.

Allowed:
string

Invoice number for the expense.

string

Identifier of the tax rate to assign.

string

Identifier of the vendor to assign.

string

Identifier of the payment account to assign.

string

Identifier of the expense account to assign.

number | null
≥ 0

VAT amount, in the transaction's currency. At most 25% of the transaction amount; a larger value returns 422 (is too large for the amount charged).

Headers
string

A unique key, such as a UUID, that makes it safe to retry this request. Reuse the same key when you retry. See Idempotency.

Responses

429

Too many requests. You sent more than 100 requests in 30 seconds from one IP address. This response has no JSON body. See Rate limits.

500

Unexpected error

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json