Skip to main content
POST
Creates an order in Fire with the body in Fire format: the same as Inject order, unchanged. Fire doesn’t translate it: it validates it and creates the order directly. This is version 1. If your system sends orders with the POS and kiosk structure or the aggregator structure, use Create order (v2). Both versions are current and end up in the same place: same validations, same response. Once created, the order follows the same lifecycle as any Fire order: taxes, business day, fiscal document, and events.

Authentication

string
required
Your Fire API key with the orders:write scope. Authorization: Bearer <api_key> is also accepted. The key must be bound to your account and to a vendor. You don’t need to send the account header.

Body

The body is the one from Inject order, in Fire format (camelCase, with prices and totals). The minimum fields are:
string
required
The order’s identifier in your system.
string
required
Unique order code. If an order with that code already exists for your vendor, the response is 409.
number
required
The order’s account.
string
required
Sale date.
string
required
delivery or pickup.
object
required
Customer: uid, name, lastName.
object
required
Store: id, code, vendorId.
object
required
products[] with at least one product.
object
required
totals[] and paymentMethods[], with at least one item each. The payments’ transactionStatus decides whether the order is closed (APPROVED) or stays open, pending payment (PENDING).

Response

boolean
true when the order was created.
object

Errors

Every request is recorded in Fire with its body and the rejection reason, including rejected ones. If you retry an order that was already created, the response is 409 and it isn’t duplicated.