Skip to main content
POST
Transition an order status
Order lifecycle management is handled through explicit status transitions. Rather than setting status through a replace, use this dedicated endpoint to move an order from one state to another. Tilta validates that the requested transition is permitted from the order’s current status and rejects invalid transitions with a descriptive error.
Cancelling an order releases the reserved amount back to the buyer’s credit facility. If you later transition a cancelled order back to CONFIRMED and the buyer’s available credit has fallen in the meantime, re-authorization can fail.
To reinstate a cancelled purchase, transition the order to PENDING_CONFIRMATION and then to CONFIRMED. That re-runs the authorization check against the buyer’s current credit facility.

Authorizations

Authorization
string
header
required

Your Tilta API key, sent as Bearer <key>.

Path Parameters

external_id
string
required

Unique identifier of an order.

Maximum string length: 100
Pattern: ^[a-zA-Z0-9-_]+$

Body

application/json

Order status transition request.

status
enum<string>
required

Target status to transition the order to.

Available options:
PENDING_CONFIRMATION,
CONFIRMED,
CANCELLED

Response

Order status has been successfully transitioned.

external_id
string
required

Unique identifier of an order.

Maximum string length: 100
Pattern: ^[a-zA-Z0-9-_]+$
status
enum<string>
required

Order status.

Available options:
DRAFT,
CANCELLED,
CLOSED,
PENDING_CONFIRMATION,
CONFIRMED,
EXPIRED,
DISBURSED
buyer_external_id
string
required

Unique identifier of a related buyer.

Maximum string length: 100
Pattern: ^[a-zA-Z0-9-_]+$
created_at
number
required

Timestamp indicating when the order was created (unix time in seconds).

Example:

1582896122

updated_at
number
required

Timestamp indicating the last time the order was updated (unix time in seconds).

Example:

1582896122

merchant_external_id
string
required

Unique identifier of a related merchant.

Maximum string length: 100
Pattern: ^[a-zA-Z0-9-_]+$
ordered_at
integer
required

Order creation date (unix time in seconds). It cannot be in the future

payment_method
enum<string>
required

The chosen payment method for a respective order. Available payment methods depend on a number of criteria. Check the paymentterms endpoint for available options. May be left empty if the payment method has not been chosen yet.

Available options:
CASH,
CARD,
TRANSFER,
DEBIT
Example:

"TRANSFER"

payment_term
enum<string>
required

The chosen payment term for a respective order. Available payment terms depend on a number of criteria. Check the payment_terms endpoint for available options

Available options:
PREPAYMENT,
DEFER_3D,
DEFER_7D,
DEFER_14D,
DEFER_21D,
DEFER_30D,
DEFER_45D,
DEFER_60D,
DEFER_75D,
DEFER_90D,
DEFER_120D,
SPLIT_3M,
SPLIT_6M
Example:

"DEFER_30D"

amount
object
required
buyer
object
comment
string | null

Additional order comment added below the order summary in related communication with the buyer.

Example:

"For Daniel without tomatoes"

delivery_address
object | null

Delivery or shipping address for orders of goods.

custom_data
object | null

Free-form metadata for storing integration-specific data alongside this order.

line_items
object[]

Order line items. Please do not merge line items but provide them individually to allow for subsequent correlation with invoices.

contact_email
string<email> | null

Order-specific contact email address, used if different from the main buyer email. This allows merchants to specify which individual or entity should be contacted about this specific order.

Example:

"john.doe@example.com"