Skip to main content
POST
Create an order

Authorizations

Authorization
string
header
required

A token from POST /oauth/token, valid 1 hour. Paste it as LCSTOK-…-X (without the word Bearer).

Headers

Idempotency-Key
string
required

Any unique string you generate (a UUID is ideal), stored with your cart and reused on every retry of the same action. Scoped to your API client.

Maximum string length: 255

Body

application/json
event_id
string
required

Must be your organization's event.

Example:

"q3Zk9mVx"

lines
object[]
required
Minimum array length: 1
buyer_name
string
required
Example:

"Amina Nakato"

buyer_email
string<email>
required

Receipts and tickets go here.

Example:

"amina@example.com"

buyer_phone
string
required

The buyer's phone number. Returned in E.164 (+2567…) in every order read.

Example:

"0763494235"

payment_method
enum<string>
default:momo

Sets the price. momo (default) is MTN Mobile Money only; airtel is Airtel Money only. Choose from the buyer's number: the pay call answers 409 reprice_required when the number's network does not match. Use only methods in the event's payment_methods: card is refused with 409 payment_method_unavailable until card is available (coming soon).

Available options:
momo,
card,
airtel
waiver_accepted
boolean

Required (true) when the event's waiver_required is true.

waiver_version
string

Required when waiver_required; must equal the event's current waiver_version.

custom_fields
object

Answers to additional_questions, keyed by key.

discount_code
string
donation_amount
integer

Minor units.

Required range: x >= 0
partner_reference
string

Your own reference. Echoed back as attribution.partner_reference in order reads and webhooks.

Maximum string length: 128
referral_code
string

Optional referral code.

note
string

Optional note on the order.

guardian
object

Parent or guardian details, when the event requires them for minors.

buyer
object

Optional extra buyer fields, stored with the order.

Response

Idempotent replay of an earlier request with the same key.

code
integer
required

HTTP status, repeated in the body.

Example:

200

message
string
required
Example:

"Cart already created (idempotent replay)"

data
object
required