Skip to main content
POST
Create order
Creates a new order for the authenticated customer. This is how owned channels (app, web, kiosk) submit checkout into Fire spark. After creation, Fire spark routes the order to the merchant’s operational stack and notifies POS integrations via order.injected.
Requires a Storefront API access token from Token exchange.

What happens after you create an order

1

Your channel sends the checkout payload

Fire spark validates store, channel, fulfillment, and line items against the composed menu for that selling context.
2

Fire spark stores the order

The order receives payment and fulfillment statuses based on your checkout flow.
3

The POS receives the ticket

Fire spark notifies the merchant integration. When the order.injected webhook fires, the order is sent to the POS in its current state so the kitchen can start preparation.

Path parameters

Request body

Request

Response

Returns 201 with the created order in data.
Generate the external id on your server before calling POST so you can retry safely if the network fails. Use the same id on retry — Fire spark rejects duplicate ids for the same merchant.

Error responses

Authorizations

Authorization
string
header
required

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

Path Parameters

id
string
required

Customer identifier.

Required string length: 1 - 64
Pattern: ^[a-zA-Z0-9_-]+$

Body

application/json

Order to create.

id
string
required
Required string length: 1 - 64
Pattern: ^[a-zA-Z0-9_-]+$
fulfillment_id
string
required
Required string length: 1 - 64
Pattern: ^[a-zA-Z0-9_-]+$
store_id
string
required
Required string length: 1 - 64
Pattern: ^[a-zA-Z0-9_-]+$
channel_id
string
required
Required string length: 1 - 64
Pattern: ^[a-zA-Z0-9_-]+$
brand_id
string | null
Required string length: 1 - 64
Pattern: ^[a-zA-Z0-9_-]+$
is_anonymous
boolean
default:false
items
object[]
metadata
object

Response

201 - application/json

Ok

data
object