curl -X POST https://app.fire.rest/api/v2/external/orders \ -H "x-api-key: $FIRE_API_KEY" \ -H "Content-Type: application/json" \ -d @ifood-order.json # same body as in "Inject order"
curl -X POST https://app.fire.rest/api/v2/external/orders \ -H "x-api-key: $FIRE_API_KEY" \ -H "Content-Type: application/json" \ -d @ifood-order.json # same body as in "Inject order"
{ "success": false, "error": "CONFLICT", "code": "DUPLICATE_ORDER", "message": "Order with external id BR-K000-05-1793063248 already exists for this vendor.", "data": { "id": "6f1c2b9e-3a1d-4c55-9b7e-0d2f6a7c8e10", "externalOrderId": "BR-K000-05-1793063248", "status": "COMPLETED" }}
{ "success": false, "error": "VALIDATION_ERROR", "message": "Datos de entrada inválidos", "details": [{ "code": "custom", "path": [], "message": "customer_uid or anonymous_customer_uid is required" }]}
Creates an order in Fire. The POS, the kiosk, and aggregator integrators use it to send
their sales straight to Fire without changing the body they already build: only the URL, the
credential, and how you read the response change.This is version 2: it takes the POS and kiosk order structure and the aggregator structure. If
your system already sends orders in Fire format, use Create order (v1).
Both versions are current and end up in the same place: same validations, same response.Fire recognizes the kind of order from the body’s channel.uid:
If the channel belongs to an aggregator (iFood, 99Food, Keeta, Rappi), the body is the one from
Inject order (camelCase, with prices and totals).
Any other channel (POS, kiosk) uses the POS and kiosk structure described below (snake_case,
unit price only: Fire calculates the totals).
Once created, the order follows the same lifecycle as any Fire order: taxes, business day, fiscal
document, and events.
Your Fire API key with the orders:write scope. Authorization: Bearer <api_key> is also accepted.
The key must be bound to a vendor: the order’s account comes from that vendor. A key without a
vendor is rejected with 403. You don’t need to send the account header; if it arrives, it is ignored.
COMPLETED if the sale is closed; OPEN if it is still waiting to be charged. An order that does
not arrive as COMPLETED + SUCCEEDED stays pending payment.
Unit price only: unit_price[] with currency_code, gross_price, net_price, taxes,
taxes_value, discount_value, subtotal_before_taxes, and discounts. Amounts are sent as
text ("14.9"). Fire calculates the line and order totals.
The order code is missing, the body can’t be read (POS/kiosk: details[] details each problem; aggregators: the message says what is missing), the customer headers are missing or both were sent, or the channel is not enabled for your vendor
400
BUSINESS_ERROR
Store inactive, business day closed, or the order breaks a validation rule enabled for your vendor (ORDER_INVARIANT_VIOLATION)
404
NOT_FOUND
The store doesn’t exist
401
UNAUTHORIZED
Invalid, expired, or revoked API key
403
FORBIDDEN
API key without the orders:write scope or not bound to a vendor
409
CONFLICT / DUPLICATE_ORDER
The order already existed for your vendor. data carries the existing order’s id, externalOrderId, and status
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.
curl -X POST https://app.fire.rest/api/v2/external/orders \ -H "x-api-key: $FIRE_API_KEY" \ -H "Content-Type: application/json" \ -d @ifood-order.json # same body as in "Inject order"
{ "success": false, "error": "CONFLICT", "code": "DUPLICATE_ORDER", "message": "Order with external id BR-K000-05-1793063248 already exists for this vendor.", "data": { "id": "6f1c2b9e-3a1d-4c55-9b7e-0d2f6a7c8e10", "externalOrderId": "BR-K000-05-1793063248", "status": "COMPLETED" }}
{ "success": false, "error": "VALIDATION_ERROR", "message": "Datos de entrada inválidos", "details": [{ "code": "custom", "path": [], "message": "customer_uid or anonymous_customer_uid is required" }]}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Fire Docs","colors":{"primary":"#E6293D","light":"#E6293D","dark":"#E6293D"},"logo":{"light":"https://mintcdn.com/firepos/gddYq9ZzZKtuBajb/logo/firedocs-light.png?fit=max\u0026auto=format\u0026n=gddYq9ZzZKtuBajb\u0026q=85\u0026s=93281297e6bf96adc03944d9b1f7a63c","dark":"https://mintcdn.com/firepos/gddYq9ZzZKtuBajb/logo/firedocs-dark.png?fit=max\u0026auto=format\u0026n=gddYq9ZzZKtuBajb\u0026q=85\u0026s=874828c9b9dda897b5104bfe491b90cb"},"favicon":"https://mintcdn.com/firepos/gddYq9ZzZKtuBajb/favicon.ico?fit=max\u0026auto=format\u0026n=gddYq9ZzZKtuBajb\u0026q=85\u0026s=1b44ffdfe35fcfa80fd2ecbc6c2f8ac8","api":{},"navbar":{"links":[{"href":"#","label":"Support"},{"href":"https://buttondown.com/fire-docs","label":"Subscribe to updates"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.fire.rest"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","default":true,"footer":{"socials":{"x":"https://x.com/fire","github":"https://github.com/fire"}},"href":"en/introduction"},{"language":"es","footer":{"socials":{"x":"https://x.com/fire","github":"https://github.com/fire"}},"href":"es/introduction"},{"language":"pt","footer":{"socials":{"x":"https://x.com/fire","github":"https://github.com/fire"}},"href":"pt/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"firepos","hasAudioNarration":false,"actualSubdomain":"firepos","customDomains":["docs.fire.rest"],"gitSource":{"type":"github","owner":"fire-rest","repo":"documentation","deployBranch":"main","isPrivate":false,"contentDirectory":"","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3c498f7fb2cc77b53c892","collectionId":"01704fe3-fa44-4593-acab-fabd98c518de","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3c498f7fb2cc77b53c892"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae3c498f7fb2cc77b53c892","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"en","tag":"BOH API","count":69},{"language":"es","tag":"BOH API","count":69},{"language":"pt","tag":"BOH API","count":69},{"language":"en","tag":"User manuals","count":64},{"language":"es","tag":"Manuales de usuario","count":64},{"language":"pt","tag":"Manuais do usuário","count":64},{"language":"en","tag":"API reference","count":40},{"language":"es","tag":"Referencia API","count":40},{"language":"pt","tag":"Referência da API","count":40},{"language":"en","tag":"Guides","count":35},{"language":"es","tag":"Guías","count":35},{"language":"pt","tag":"Guias","count":35},{"language":"en","tag":"API","count":29},{"language":"es","tag":"API","count":29},{"language":"pt","tag":"API","count":29},{"language":"en","tag":"POS","count":21},{"language":"es","tag":"POS","count":21},{"language":"pt","tag":"POS","count":21},{"language":"en","tag":"Backoffice","count":17},{"language":"es","tag":"Backoffice","count":17},{"language":"pt","tag":"Backoffice","count":17},{"language":"en","tag":"KDS","count":12},{"language":"en","tag":"Webhook reference","count":12},{"language":"es","tag":"KDS","count":12},{"language":"pt","tag":"KDS","count":12},{"language":"en","tag":"Partner APIs","count":11},{"language":"es","tag":"APIs de partner","count":11},{"language":"es","tag":"Eventos","count":11},{"language":"pt","tag":"APIs de parceiro","count":11},{"language":"pt","tag":"Eventos","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/api-reference/create-order-v2","slug":"/en/api-reference/create-order-v2","pageMetadata":{"title":"Create order (v2)","api":"POST https://app.fire.rest/api/v2/external/orders","description":"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.","authMethod":"bearer","href":"/en/api-reference/create-order-v2"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Expandable,Heading,Info,ParamField,ResponseField,Table}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Creates an order in Fire. The `,_jsx(_components.strong,{children:`POS`}),`, the `,_jsx(_components.strong,{children:`kiosk`}),`, and `,_jsx(_components.strong,{children:`aggregator integrators`}),` use it to send\ntheir sales straight to Fire `,_jsx(_components.strong,{children:`without changing the body`}),` they already build: only the URL, the\ncredential, and how you read the response change.`]}),`\n`,_jsxs(_components.p,{children:[`This is `,_jsx(_components.strong,{children:`version 2`}),`: it takes the POS and kiosk order structure and the aggregator structure. If\nyour system already sends orders in Fire format, use `,_jsx(_components.a,{href:`/en/api-reference/create-order`,children:`Create order (v1)`}),`.\nBoth versions are current and end up in the same place: same validations, same response.`]}),`\n`,_jsxs(_components.p,{children:[`Fire recognizes the kind of order from the body’s `,_jsx(_components.code,{children:`channel.uid`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If the channel belongs to an aggregator (iFood, 99Food, Keeta, Rappi), the body is the one from\n`,_jsx(_components.a,{href:`/en/api-reference/orders`,children:`Inject order`}),` (camelCase, with prices and totals).`]}),`\n`,_jsx(_components.li,{children:`Any other channel (POS, kiosk) uses the POS and kiosk structure described below (snake_case,\nunit price only: Fire calculates the totals).`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Once created, the order follows the same lifecycle as any Fire order: taxes, business day, fiscal\ndocument, and `,_jsx(_components.a,{href:`/en/events/overview`,children:`events`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(ParamField,{header:`x-api-key`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your Fire API key with the `,_jsx(_components.code,{children:`orders:write`}),` scope. `,_jsx(_components.code,{children:`Authorization: Bearer \u003capi_key>`}),` is also accepted.\nThe key `,_jsx(_components.strong,{children:`must be bound to a vendor`}),`: the order’s account comes from that vendor. A key without a\nvendor is rejected with `,_jsx(_components.code,{children:`403`}),`. You don’t need to send the `,_jsx(_components.code,{children:`account`}),` header; if it arrives, it is ignored.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`customer-identity-pos-and-kiosk`,children:`Customer identity (POS and kiosk)`}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.strong,{children:`exactly one`}),` of these two headers. If you send neither, or both, the order is rejected with\n`,_jsx(_components.code,{children:`400`}),` `,_jsx(_components.code,{children:`VALIDATION_ERROR`}),`. Aggregator orders don’t use them.`]}),`\n`,_jsx(ParamField,{header:`anonymous_customer_uid`,type:`string`,id:`param-anonymous-customer-uid`,children:_jsx(_components.p,{children:`Identifier of the device’s anonymous session (POS or kiosk). This is the usual case.`})}),`\n`,_jsx(ParamField,{header:`customer_uid`,type:`string`,id:`param-customer-uid`,children:_jsx(_components.p,{children:`Identifier of a registered customer.`})}),`\n`,_jsx(Heading,{level:`2`,id:`body-—-pos-and-kiosk`,children:`Body — POS and kiosk`}),`\n`,_jsx(ParamField,{body:`order_code`,type:`string`,required:true,id:`param-order-code`,children:_jsxs(_components.p,{children:[`Unique order code in your system. If an order with that code already exists for your vendor,\nthe response is `,_jsx(_components.code,{children:`409`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`vendor_uid`,type:`string`,required:true,id:`param-vendor-uid`,children:[`Order vendor (e.g. `,_jsx(_components.code,{children:`11.6.1350`}),`).`]}),`\n`,_jsx(ParamField,{body:`catalog_uid`,type:`string`,required:true,id:`param-catalog-uid`,children:`Catalog of the sales channel.`}),`\n`,_jsx(ParamField,{body:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`COMPLETED`}),` if the sale is closed; `,_jsx(_components.code,{children:`OPEN`}),` if it is still waiting to be charged. An order that does\nnot arrive as `,_jsx(_components.code,{children:`COMPLETED`}),` + `,_jsx(_components.code,{children:`SUCCEEDED`}),` stays pending payment.`]})}),`\n`,_jsxs(ParamField,{body:`payment_status`,type:`string`,id:`param-payment-status`,children:[_jsx(_components.code,{children:`SUCCEEDED`}),` if it has already been charged.`]}),`\n`,_jsxs(ParamField,{body:`channel`,type:`object`,required:true,id:`param-channel`,children:[_jsxs(_components.p,{children:[`Sales channel. Its `,_jsx(_components.code,{children:`uid`}),` decides how the body is read.`]}),_jsxs(Expandable,{title:`channel`,children:[_jsx(ParamField,{body:`uid`,type:`string`,required:true,id:`param-uid`,children:`Channel UID in Fire.`}),_jsxs(ParamField,{body:`code`,type:`string`,required:true,id:`param-code`,children:[`Channel code (e.g. `,_jsx(_components.code,{children:`POS`}),`, `,_jsx(_components.code,{children:`KIOSK`}),`).`]})]})]}),`\n`,_jsxs(ParamField,{body:`service`,type:`object`,required:true,id:`param-service`,children:[_jsx(_components.p,{children:`Sale service.`}),_jsxs(Expandable,{title:`service`,children:[_jsx(ParamField,{body:`uid`,type:`string`,required:true,id:`param-uid-1`,children:`Service UID in Fire.`}),_jsxs(ParamField,{body:`code`,type:`string`,required:true,id:`param-code-1`,children:[`Service code (e.g. `,_jsx(_components.code,{children:`Dine-In`}),`, `,_jsx(_components.code,{children:`Takeaway`}),`).`]})]})]}),`\n`,_jsxs(ParamField,{body:`store`,type:`object`,required:true,id:`param-store`,children:[_jsx(_components.p,{children:`Store of the sale.`}),_jsxs(Expandable,{title:`store`,children:[_jsx(ParamField,{body:`uid`,type:`string`,required:true,id:`param-uid-2`,children:`Store UID.`}),_jsx(ParamField,{body:`code`,type:`string`,required:true,id:`param-code-2`,children:`Store code.`}),_jsx(ParamField,{body:`name`,type:`string`,required:true,id:`param-name`,children:`Store name.`}),_jsx(ParamField,{body:`vendor_uid`,type:`string`,required:true,id:`param-vendor-uid-1`,children:`Store vendor.`}),_jsx(ParamField,{body:`vendor_name`,type:`string`,required:true,id:`param-vendor-name`,children:`Vendor name.`})]})]}),`\n`,_jsxs(ParamField,{body:`fulfillment`,type:`object`,required:true,id:`param-fulfillment`,children:[_jsx(_components.p,{children:`Delivery method and catalog.`}),_jsxs(Expandable,{title:`fulfillment`,children:[_jsxs(ParamField,{body:`method`,type:`string`,required:true,id:`param-method`,children:[_jsx(_components.code,{children:`POS`}),` or `,_jsx(_components.code,{children:`KIOSK`}),`.`]}),_jsx(ParamField,{body:`catalog_uid`,type:`string`,required:true,id:`param-catalog-uid-1`,children:`Catalog. It must be enabled for your account.`}),_jsxs(ParamField,{body:`details`,type:`object`,id:`param-details`,children:[`Delivery data, e.g. `,_jsx(_components.code,{children:`buzzer_name`}),` (name used to call the customer).`]})]})]}),`\n`,_jsx(ParamField,{body:`device`,type:`object`,id:`param-device`,children:_jsxs(_components.p,{children:[`Device that recorded the sale: `,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`metadata`}),`.`]})}),`\n`,_jsx(ParamField,{body:`operator`,type:`object`,id:`param-operator`,children:_jsxs(_components.p,{children:[`Cashier or operator: `,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`session`}),` (`,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`start_timestamp`}),`, `,_jsx(_components.code,{children:`end_timestamp`}),`).\n`,_jsx(_components.code,{children:`null`}),` on the kiosk.`]})}),`\n`,_jsx(ParamField,{body:`customer`,type:`object`,id:`param-customer`,children:_jsxs(_components.p,{children:[`Customer data: `,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`last_name`}),`, `,_jsx(_components.code,{children:`phone`}),` (required if you send the object), `,_jsx(_components.code,{children:`email`}),`,\n`,_jsx(_components.code,{children:`gov_id_type`}),`, `,_jsx(_components.code,{children:`gov_id_number`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`billing`,type:`object`,id:`param-billing`,children:[`Billing data: `,_jsx(_components.code,{children:`gov_id_type`}),`, `,_jsx(_components.code,{children:`gov_id_number`}),`, `,_jsx(_components.code,{children:`business_name`}),`.`]}),`\n`,_jsx(ParamField,{body:`metadata`,type:`object`,id:`param-metadata`,children:_jsxs(_components.p,{children:[`Additional sale data, e.g. `,_jsx(_components.code,{children:`display_code`}),` (number used to call the order) and kiosk or POS data.`]})}),`\n`,_jsxs(ParamField,{body:`order_lines`,type:`object[]`,required:true,id:`param-order-lines`,children:[_jsx(_components.p,{children:`Order products.`}),_jsxs(Expandable,{title:`order_lines[]`,children:[_jsx(ParamField,{body:`hash`,type:`string`,required:true,id:`param-hash`,children:`Line identifier within the order.`}),_jsx(ParamField,{body:`item_id`,type:`string`,required:true,id:`param-item-id`,children:`Product UID in the catalog.`}),_jsx(ParamField,{body:`item_description`,type:`string`,required:true,id:`param-item-description`,children:`Product name.`}),_jsxs(ParamField,{body:`item_type`,type:`string`,required:true,id:`param-item-type`,children:[`Item type (e.g. `,_jsx(_components.code,{children:`PRODUCT`}),`).`]}),_jsxs(ParamField,{body:`quantity`,type:`string`,required:true,id:`param-quantity`,children:[`Quantity, as text (`,_jsx(_components.code,{children:`\"1\"`}),`).`]}),_jsxs(ParamField,{body:`selected_currency`,type:`string`,required:true,id:`param-selected-currency`,children:[`Currency (e.g. `,_jsx(_components.code,{children:`BRL`}),`).`]}),_jsx(ParamField,{body:`vendor_uid`,type:`string`,required:true,id:`param-vendor-uid-2`,children:`Vendor.`}),_jsx(ParamField,{body:`store_uid`,type:`string`,required:true,id:`param-store-uid`,children:`Store.`}),_jsxs(ParamField,{body:`fulfillment`,type:`object`,required:true,id:`param-fulfillment-1`,children:[_jsx(_components.code,{children:`method`}),` and `,_jsx(_components.code,{children:`catalog_uid`}),`, as in the order.`]}),_jsx(ParamField,{body:`price`,type:`object`,required:true,id:`param-price`,children:_jsxs(_components.p,{children:[`Unit price only: `,_jsx(_components.code,{children:`unit_price[]`}),` with `,_jsx(_components.code,{children:`currency_code`}),`, `,_jsx(_components.code,{children:`gross_price`}),`, `,_jsx(_components.code,{children:`net_price`}),`, `,_jsx(_components.code,{children:`taxes`}),`,\n`,_jsx(_components.code,{children:`taxes_value`}),`, `,_jsx(_components.code,{children:`discount_value`}),`, `,_jsx(_components.code,{children:`subtotal_before_taxes`}),`, and `,_jsx(_components.code,{children:`discounts`}),`. Amounts are sent as\ntext (`,_jsx(_components.code,{children:`\"14.9\"`}),`). Fire calculates the line and order totals.`]})}),_jsx(ParamField,{body:`modifier_groups`,type:`object[]`,required:true,id:`param-modifier-groups`,children:_jsxs(_components.p,{children:[`Modifier groups (`,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`description`}),`, `,_jsx(_components.code,{children:`selected_modifiers[]`}),`). Each modifier has the same shape\nas a line. `,_jsx(_components.code,{children:`[]`}),` if there are none.`]})}),_jsxs(ParamField,{body:`additional_info`,type:`object`,id:`param-additional-info`,children:[`Product codes, e.g. `,_jsx(_components.code,{children:`code`}),`, `,_jsx(_components.code,{children:`external_code`}),`, `,_jsx(_components.code,{children:`ncm`}),`.`]})]})]}),`\n`,_jsxs(ParamField,{body:`payment_methods`,type:`object[]`,required:true,id:`param-payment-methods`,children:[_jsx(_components.p,{children:`Order payments.`}),_jsxs(Expandable,{title:`payment_methods[]`,children:[_jsx(ParamField,{body:`uid`,type:`string`,required:true,id:`param-uid-3`,children:`Payment method UID.`}),_jsxs(ParamField,{body:`method`,type:`string`,required:true,id:`param-method-1`,children:[`Payment method (e.g. `,_jsx(_components.code,{children:`CASH`}),`, `,_jsx(_components.code,{children:`CREDIT`}),`, `,_jsx(_components.code,{children:`DEBIT`}),`).`]}),_jsx(ParamField,{body:`currency_code`,type:`string`,required:true,id:`param-currency-code`,children:`Currency.`}),_jsx(ParamField,{body:`total`,type:`string`,required:true,id:`param-total`,children:`Amount paid, as text.`}),_jsx(ParamField,{body:`details`,type:`object`,id:`param-details-1`,children:_jsxs(_components.p,{children:[`Transaction details: `,_jsx(_components.code,{children:`processor`}),`, `,_jsx(_components.code,{children:`transaction_status`}),` (`,_jsx(_components.code,{children:`APPROVED`}),`, `,_jsx(_components.code,{children:`PENDING`}),`),\n`,_jsx(_components.code,{children:`transaction_type`}),`, `,_jsx(_components.code,{children:`transaction_id`}),`, `,_jsx(_components.code,{children:`tid`}),`, `,_jsx(_components.code,{children:`authorization_code`}),`, `,_jsx(_components.code,{children:`total_bill`}),`,\n`,_jsx(_components.code,{children:`customer_cash_amount`}),`, `,_jsx(_components.code,{children:`change_amount`}),`, `,_jsx(_components.code,{children:`card`}),`, `,_jsx(_components.code,{children:`acquirer`}),`, `,_jsx(_components.code,{children:`transaction_date`}),`. A `,_jsx(_components.code,{children:`PENDING`}),`\npayment leaves the order open, waiting to be charged.`]})}),_jsx(ParamField,{body:`metadata`,type:`object`,id:`param-metadata-1`,children:`Payment authorizer data.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`body-—-aggregators`,children:`Body — aggregators`}),`\n`,_jsxs(_components.p,{children:[`The same body as `,_jsx(_components.a,{href:`/en/api-reference/orders`,children:`Inject order`}),`, unchanged. Fire identifies it as an\naggregator order by `,_jsx(_components.code,{children:`channel.uid`}),` and records it as closed and paid.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(ResponseField,{name:`success`,type:`boolean`,id:`param-success`,children:[_jsx(_components.code,{children:`true`}),` when the order was created.`]}),`\n`,_jsx(ResponseField,{name:`data`,type:`object`,id:`param-data`,children:_jsxs(Expandable,{title:`data`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id`,children:`Order ID in Fire. Use it to read, update, or cancel the order.`}),_jsxs(ResponseField,{name:`external_order_id`,type:`string`,id:`param-external-order-id`,children:[`The `,_jsx(_components.code,{children:`order_code`}),` you sent.`]}),_jsxs(ResponseField,{name:`status`,type:`string`,id:`param-status-1`,children:[_jsx(_components.code,{children:`COMPLETED`}),` or `,_jsx(_components.code,{children:`OPEN`}),`.`]}),_jsxs(ResponseField,{name:`payment_status`,type:`string`,id:`param-payment-status-1`,children:[_jsx(_components.code,{children:`SUCCEEDED`}),` or `,_jsx(_components.code,{children:`PENDING`}),`.`]}),_jsxs(ResponseField,{name:`business_day_date`,type:`string`,id:`param-business-day-date`,children:[`Store business day, `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`.`]}),_jsx(ResponseField,{name:`created_at`,type:`string`,id:`param-created-at`,children:`Creation date in Fire (ISO 8601).`})]})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`HTTP`}),_jsxs(_components.th,{children:[_jsx(_components.code,{children:`error`}),` / `,_jsx(_components.code,{children:`code`})]}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`VALIDATION_ERROR`})}),_jsxs(_components.td,{children:[`The order code is missing, the body can’t be read (POS/kiosk: `,_jsx(_components.code,{children:`details[]`}),` details each problem; aggregators: the message says what is missing), the customer headers are missing or both were sent, or the channel is not enabled for your vendor`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`BUSINESS_ERROR`})}),_jsxs(_components.td,{children:[`Store inactive, business day closed, or the order breaks a validation rule enabled for your vendor (`,_jsx(_components.code,{children:`ORDER_INVARIANT_VIOLATION`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`NOT_FOUND`})}),_jsx(_components.td,{children:`The store doesn’t exist`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`UNAUTHORIZED`})}),_jsx(_components.td,{children:`Invalid, expired, or revoked API key`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`FORBIDDEN`})}),_jsxs(_components.td,{children:[`API key without the `,_jsx(_components.code,{children:`orders:write`}),` scope or not bound to a vendor`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`CONFLICT`}),` / `,_jsx(_components.code,{children:`DUPLICATE_ORDER`})]}),_jsxs(_components.td,{children:[`The order already existed for your vendor. `,_jsx(_components.code,{children:`data`}),` carries the existing order’s `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`externalOrderId`}),`, and `,_jsx(_components.code,{children:`status`})]})]})]})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Every request is recorded in Fire with its body and the rejection reason, including rejected\nones. If you retry an order that was already created, the response is `,_jsx(_components.code,{children:`409`}),` and it isn’t duplicated.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create order (v2)","api":"POST https://app.fire.rest/api/v2/external/orders","description":"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.","authMethod":"bearer","href":"/en/api-reference/create-order-v2"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,Info,ParamField,RequestExample,ResponseExample,ResponseField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Creates an order in Fire. The `,_jsx(_components.strong,{children:`POS`}),`, the `,_jsx(_components.strong,{children:`kiosk`}),`, and `,_jsx(_components.strong,{children:`aggregator integrators`}),` use it to send\ntheir sales straight to Fire `,_jsx(_components.strong,{children:`without changing the body`}),` they already build: only the URL, the\ncredential, and how you read the response change.`]}),`\n`,_jsxs(_components.p,{children:[`This is `,_jsx(_components.strong,{children:`version 2`}),`: it takes the POS and kiosk order structure and the aggregator structure. If\nyour system already sends orders in Fire format, use `,_jsx(_components.a,{href:`/en/api-reference/create-order`,children:`Create order (v1)`}),`.\nBoth versions are current and end up in the same place: same validations, same response.`]}),`\n`,_jsxs(_components.p,{children:[`Fire recognizes the kind of order from the body’s `,_jsx(_components.code,{children:`channel.uid`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If the channel belongs to an aggregator (iFood, 99Food, Keeta, Rappi), the body is the one from\n`,_jsx(_components.a,{href:`/en/api-reference/orders`,children:`Inject order`}),` (camelCase, with prices and totals).`]}),`\n`,_jsx(_components.li,{children:`Any other channel (POS, kiosk) uses the POS and kiosk structure described below (snake_case,\nunit price only: Fire calculates the totals).`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Once created, the order follows the same lifecycle as any Fire order: taxes, business day, fiscal\ndocument, and `,_jsx(_components.a,{href:`/en/events/overview`,children:`events`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(ParamField,{header:`x-api-key`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your Fire API key with the `,_jsx(_components.code,{children:`orders:write`}),` scope. `,_jsx(_components.code,{children:`Authorization: Bearer \u003capi_key>`}),` is also accepted.\nThe key `,_jsx(_components.strong,{children:`must be bound to a vendor`}),`: the order’s account comes from that vendor. A key without a\nvendor is rejected with `,_jsx(_components.code,{children:`403`}),`. You don’t need to send the `,_jsx(_components.code,{children:`account`}),` header; if it arrives, it is ignored.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`customer-identity-pos-and-kiosk`,children:`Customer identity (POS and kiosk)`}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.strong,{children:`exactly one`}),` of these two headers. If you send neither, or both, the order is rejected with\n`,_jsx(_components.code,{children:`400`}),` `,_jsx(_components.code,{children:`VALIDATION_ERROR`}),`. Aggregator orders don’t use them.`]}),`\n`,_jsx(ParamField,{header:`anonymous_customer_uid`,type:`string`,id:`param-anonymous-customer-uid`,children:_jsx(_components.p,{children:`Identifier of the device’s anonymous session (POS or kiosk). This is the usual case.`})}),`\n`,_jsx(ParamField,{header:`customer_uid`,type:`string`,id:`param-customer-uid`,children:_jsx(_components.p,{children:`Identifier of a registered customer.`})}),`\n`,_jsx(Heading,{level:`2`,id:`body-—-pos-and-kiosk`,children:`Body — POS and kiosk`}),`\n`,_jsx(ParamField,{body:`order_code`,type:`string`,required:true,id:`param-order-code`,children:_jsxs(_components.p,{children:[`Unique order code in your system. If an order with that code already exists for your vendor,\nthe response is `,_jsx(_components.code,{children:`409`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`vendor_uid`,type:`string`,required:true,id:`param-vendor-uid`,children:[`Order vendor (e.g. `,_jsx(_components.code,{children:`11.6.1350`}),`).`]}),`\n`,_jsx(ParamField,{body:`catalog_uid`,type:`string`,required:true,id:`param-catalog-uid`,children:`Catalog of the sales channel.`}),`\n`,_jsx(ParamField,{body:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`COMPLETED`}),` if the sale is closed; `,_jsx(_components.code,{children:`OPEN`}),` if it is still waiting to be charged. An order that does\nnot arrive as `,_jsx(_components.code,{children:`COMPLETED`}),` + `,_jsx(_components.code,{children:`SUCCEEDED`}),` stays pending payment.`]})}),`\n`,_jsxs(ParamField,{body:`payment_status`,type:`string`,id:`param-payment-status`,children:[_jsx(_components.code,{children:`SUCCEEDED`}),` if it has already been charged.`]}),`\n`,_jsxs(ParamField,{body:`channel`,type:`object`,required:true,id:`param-channel`,children:[_jsxs(_components.p,{children:[`Sales channel. Its `,_jsx(_components.code,{children:`uid`}),` decides how the body is read.`]}),_jsxs(Expandable,{title:`channel`,children:[_jsx(ParamField,{body:`uid`,type:`string`,required:true,id:`param-uid`,children:`Channel UID in Fire.`}),_jsxs(ParamField,{body:`code`,type:`string`,required:true,id:`param-code`,children:[`Channel code (e.g. `,_jsx(_components.code,{children:`POS`}),`, `,_jsx(_components.code,{children:`KIOSK`}),`).`]})]})]}),`\n`,_jsxs(ParamField,{body:`service`,type:`object`,required:true,id:`param-service`,children:[_jsx(_components.p,{children:`Sale service.`}),_jsxs(Expandable,{title:`service`,children:[_jsx(ParamField,{body:`uid`,type:`string`,required:true,id:`param-uid-1`,children:`Service UID in Fire.`}),_jsxs(ParamField,{body:`code`,type:`string`,required:true,id:`param-code-1`,children:[`Service code (e.g. `,_jsx(_components.code,{children:`Dine-In`}),`, `,_jsx(_components.code,{children:`Takeaway`}),`).`]})]})]}),`\n`,_jsxs(ParamField,{body:`store`,type:`object`,required:true,id:`param-store`,children:[_jsx(_components.p,{children:`Store of the sale.`}),_jsxs(Expandable,{title:`store`,children:[_jsx(ParamField,{body:`uid`,type:`string`,required:true,id:`param-uid-2`,children:`Store UID.`}),_jsx(ParamField,{body:`code`,type:`string`,required:true,id:`param-code-2`,children:`Store code.`}),_jsx(ParamField,{body:`name`,type:`string`,required:true,id:`param-name`,children:`Store name.`}),_jsx(ParamField,{body:`vendor_uid`,type:`string`,required:true,id:`param-vendor-uid-1`,children:`Store vendor.`}),_jsx(ParamField,{body:`vendor_name`,type:`string`,required:true,id:`param-vendor-name`,children:`Vendor name.`})]})]}),`\n`,_jsxs(ParamField,{body:`fulfillment`,type:`object`,required:true,id:`param-fulfillment`,children:[_jsx(_components.p,{children:`Delivery method and catalog.`}),_jsxs(Expandable,{title:`fulfillment`,children:[_jsxs(ParamField,{body:`method`,type:`string`,required:true,id:`param-method`,children:[_jsx(_components.code,{children:`POS`}),` or `,_jsx(_components.code,{children:`KIOSK`}),`.`]}),_jsx(ParamField,{body:`catalog_uid`,type:`string`,required:true,id:`param-catalog-uid-1`,children:`Catalog. It must be enabled for your account.`}),_jsxs(ParamField,{body:`details`,type:`object`,id:`param-details`,children:[`Delivery data, e.g. `,_jsx(_components.code,{children:`buzzer_name`}),` (name used to call the customer).`]})]})]}),`\n`,_jsx(ParamField,{body:`device`,type:`object`,id:`param-device`,children:_jsxs(_components.p,{children:[`Device that recorded the sale: `,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`metadata`}),`.`]})}),`\n`,_jsx(ParamField,{body:`operator`,type:`object`,id:`param-operator`,children:_jsxs(_components.p,{children:[`Cashier or operator: `,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`session`}),` (`,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`start_timestamp`}),`, `,_jsx(_components.code,{children:`end_timestamp`}),`).\n`,_jsx(_components.code,{children:`null`}),` on the kiosk.`]})}),`\n`,_jsx(ParamField,{body:`customer`,type:`object`,id:`param-customer`,children:_jsxs(_components.p,{children:[`Customer data: `,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`last_name`}),`, `,_jsx(_components.code,{children:`phone`}),` (required if you send the object), `,_jsx(_components.code,{children:`email`}),`,\n`,_jsx(_components.code,{children:`gov_id_type`}),`, `,_jsx(_components.code,{children:`gov_id_number`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`billing`,type:`object`,id:`param-billing`,children:[`Billing data: `,_jsx(_components.code,{children:`gov_id_type`}),`, `,_jsx(_components.code,{children:`gov_id_number`}),`, `,_jsx(_components.code,{children:`business_name`}),`.`]}),`\n`,_jsx(ParamField,{body:`metadata`,type:`object`,id:`param-metadata`,children:_jsxs(_components.p,{children:[`Additional sale data, e.g. `,_jsx(_components.code,{children:`display_code`}),` (number used to call the order) and kiosk or POS data.`]})}),`\n`,_jsxs(ParamField,{body:`order_lines`,type:`object[]`,required:true,id:`param-order-lines`,children:[_jsx(_components.p,{children:`Order products.`}),_jsxs(Expandable,{title:`order_lines[]`,children:[_jsx(ParamField,{body:`hash`,type:`string`,required:true,id:`param-hash`,children:`Line identifier within the order.`}),_jsx(ParamField,{body:`item_id`,type:`string`,required:true,id:`param-item-id`,children:`Product UID in the catalog.`}),_jsx(ParamField,{body:`item_description`,type:`string`,required:true,id:`param-item-description`,children:`Product name.`}),_jsxs(ParamField,{body:`item_type`,type:`string`,required:true,id:`param-item-type`,children:[`Item type (e.g. `,_jsx(_components.code,{children:`PRODUCT`}),`).`]}),_jsxs(ParamField,{body:`quantity`,type:`string`,required:true,id:`param-quantity`,children:[`Quantity, as text (`,_jsx(_components.code,{children:`\"1\"`}),`).`]}),_jsxs(ParamField,{body:`selected_currency`,type:`string`,required:true,id:`param-selected-currency`,children:[`Currency (e.g. `,_jsx(_components.code,{children:`BRL`}),`).`]}),_jsx(ParamField,{body:`vendor_uid`,type:`string`,required:true,id:`param-vendor-uid-2`,children:`Vendor.`}),_jsx(ParamField,{body:`store_uid`,type:`string`,required:true,id:`param-store-uid`,children:`Store.`}),_jsxs(ParamField,{body:`fulfillment`,type:`object`,required:true,id:`param-fulfillment-1`,children:[_jsx(_components.code,{children:`method`}),` and `,_jsx(_components.code,{children:`catalog_uid`}),`, as in the order.`]}),_jsx(ParamField,{body:`price`,type:`object`,required:true,id:`param-price`,children:_jsxs(_components.p,{children:[`Unit price only: `,_jsx(_components.code,{children:`unit_price[]`}),` with `,_jsx(_components.code,{children:`currency_code`}),`, `,_jsx(_components.code,{children:`gross_price`}),`, `,_jsx(_components.code,{children:`net_price`}),`, `,_jsx(_components.code,{children:`taxes`}),`,\n`,_jsx(_components.code,{children:`taxes_value`}),`, `,_jsx(_components.code,{children:`discount_value`}),`, `,_jsx(_components.code,{children:`subtotal_before_taxes`}),`, and `,_jsx(_components.code,{children:`discounts`}),`. Amounts are sent as\ntext (`,_jsx(_components.code,{children:`\"14.9\"`}),`). Fire calculates the line and order totals.`]})}),_jsx(ParamField,{body:`modifier_groups`,type:`object[]`,required:true,id:`param-modifier-groups`,children:_jsxs(_components.p,{children:[`Modifier groups (`,_jsx(_components.code,{children:`uid`}),`, `,_jsx(_components.code,{children:`description`}),`, `,_jsx(_components.code,{children:`selected_modifiers[]`}),`). Each modifier has the same shape\nas a line. `,_jsx(_components.code,{children:`[]`}),` if there are none.`]})}),_jsxs(ParamField,{body:`additional_info`,type:`object`,id:`param-additional-info`,children:[`Product codes, e.g. `,_jsx(_components.code,{children:`code`}),`, `,_jsx(_components.code,{children:`external_code`}),`, `,_jsx(_components.code,{children:`ncm`}),`.`]})]})]}),`\n`,_jsxs(ParamField,{body:`payment_methods`,type:`object[]`,required:true,id:`param-payment-methods`,children:[_jsx(_components.p,{children:`Order payments.`}),_jsxs(Expandable,{title:`payment_methods[]`,children:[_jsx(ParamField,{body:`uid`,type:`string`,required:true,id:`param-uid-3`,children:`Payment method UID.`}),_jsxs(ParamField,{body:`method`,type:`string`,required:true,id:`param-method-1`,children:[`Payment method (e.g. `,_jsx(_components.code,{children:`CASH`}),`, `,_jsx(_components.code,{children:`CREDIT`}),`, `,_jsx(_components.code,{children:`DEBIT`}),`).`]}),_jsx(ParamField,{body:`currency_code`,type:`string`,required:true,id:`param-currency-code`,children:`Currency.`}),_jsx(ParamField,{body:`total`,type:`string`,required:true,id:`param-total`,children:`Amount paid, as text.`}),_jsx(ParamField,{body:`details`,type:`object`,id:`param-details-1`,children:_jsxs(_components.p,{children:[`Transaction details: `,_jsx(_components.code,{children:`processor`}),`, `,_jsx(_components.code,{children:`transaction_status`}),` (`,_jsx(_components.code,{children:`APPROVED`}),`, `,_jsx(_components.code,{children:`PENDING`}),`),\n`,_jsx(_components.code,{children:`transaction_type`}),`, `,_jsx(_components.code,{children:`transaction_id`}),`, `,_jsx(_components.code,{children:`tid`}),`, `,_jsx(_components.code,{children:`authorization_code`}),`, `,_jsx(_components.code,{children:`total_bill`}),`,\n`,_jsx(_components.code,{children:`customer_cash_amount`}),`, `,_jsx(_components.code,{children:`change_amount`}),`, `,_jsx(_components.code,{children:`card`}),`, `,_jsx(_components.code,{children:`acquirer`}),`, `,_jsx(_components.code,{children:`transaction_date`}),`. A `,_jsx(_components.code,{children:`PENDING`}),`\npayment leaves the order open, waiting to be charged.`]})}),_jsx(ParamField,{body:`metadata`,type:`object`,id:`param-metadata-1`,children:`Payment authorizer data.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`body-—-aggregators`,children:`Body — aggregators`}),`\n`,_jsxs(_components.p,{children:[`The same body as `,_jsx(_components.a,{href:`/en/api-reference/orders`,children:`Inject order`}),`, unchanged. Fire identifies it as an\naggregator order by `,_jsx(_components.code,{children:`channel.uid`}),` and records it as closed and paid.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(ResponseField,{name:`success`,type:`boolean`,id:`param-success`,children:[_jsx(_components.code,{children:`true`}),` when the order was created.`]}),`\n`,_jsx(ResponseField,{name:`data`,type:`object`,id:`param-data`,children:_jsxs(Expandable,{title:`data`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id`,children:`Order ID in Fire. Use it to read, update, or cancel the order.`}),_jsxs(ResponseField,{name:`external_order_id`,type:`string`,id:`param-external-order-id`,children:[`The `,_jsx(_components.code,{children:`order_code`}),` you sent.`]}),_jsxs(ResponseField,{name:`status`,type:`string`,id:`param-status-1`,children:[_jsx(_components.code,{children:`COMPLETED`}),` or `,_jsx(_components.code,{children:`OPEN`}),`.`]}),_jsxs(ResponseField,{name:`payment_status`,type:`string`,id:`param-payment-status-1`,children:[_jsx(_components.code,{children:`SUCCEEDED`}),` or `,_jsx(_components.code,{children:`PENDING`}),`.`]}),_jsxs(ResponseField,{name:`business_day_date`,type:`string`,id:`param-business-day-date`,children:[`Store business day, `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`.`]}),_jsx(ResponseField,{name:`created_at`,type:`string`,id:`param-created-at`,children:`Creation date in Fire (ISO 8601).`})]})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`HTTP`}),_jsxs(_components.th,{children:[_jsx(_components.code,{children:`error`}),` / `,_jsx(_components.code,{children:`code`})]}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`VALIDATION_ERROR`})}),_jsxs(_components.td,{children:[`The order code is missing, the body can’t be read (POS/kiosk: `,_jsx(_components.code,{children:`details[]`}),` details each problem; aggregators: the message says what is missing), the customer headers are missing or both were sent, or the channel is not enabled for your vendor`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`BUSINESS_ERROR`})}),_jsxs(_components.td,{children:[`Store inactive, business day closed, or the order breaks a validation rule enabled for your vendor (`,_jsx(_components.code,{children:`ORDER_INVARIANT_VIOLATION`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`NOT_FOUND`})}),_jsx(_components.td,{children:`The store doesn’t exist`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`UNAUTHORIZED`})}),_jsx(_components.td,{children:`Invalid, expired, or revoked API key`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`FORBIDDEN`})}),_jsxs(_components.td,{children:[`API key without the `,_jsx(_components.code,{children:`orders:write`}),` scope or not bound to a vendor`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`CONFLICT`}),` / `,_jsx(_components.code,{children:`DUPLICATE_ORDER`})]}),_jsxs(_components.td,{children:[`The order already existed for your vendor. `,_jsx(_components.code,{children:`data`}),` carries the existing order’s `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`externalOrderId`}),`, and `,_jsx(_components.code,{children:`status`})]})]})]})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Every request is recorded in Fire with its body and the rejection reason, including rejected\nones. If you retry an order that was already created, the response is `,_jsx(_components.code,{children:`409`}),` and it isn’t duplicated.`]})}),`\n`,_jsxs(RequestExample,{children:[_jsx(CodeBlock,{filename:`POS or kiosk`,numberOfLines:`37`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`37`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://app.fire.rest/api/v2/external/orders`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$FIRE_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"anonymous_customer_uid: device-session-0001\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"order_code\": \"BR-K000-05-1793063248\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vendor_uid\": \"11.6.1350\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"catalog_uid\": \"5\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"status\": \"COMPLETED\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"payment_status\": \"SUCCEEDED\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"channel\": { \"uid\": \"c784d4ba-23c7-4929-b2f0-1a1960d9cdc2\", \"code\": \"KIOSK\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"service\": { \"uid\": \"726c4892-48b9-45da-b066-2a8e83d2cb78\", \"code\": \"Dine-In\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"store\": { \"uid\": \"11.6.1350.50\", \"code\": \"K000\", \"name\": \"Tienda demo\", \"vendor_uid\": \"11.6.1350\", \"vendor_name\": \"Vendor demo\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"fulfillment\": { \"method\": \"KIOSK\", \"catalog_uid\": \"5\", \"details\": { \"buzzer_name\": \"Cliente\" } },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"customer\": { \"uid\": \"device-session-0001\", \"name\": \"CONSUMIDOR\", \"last_name\": \"FINAL\", \"phone\": \"\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"metadata\": { \"display_code\": \"48K\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"order_lines\": [{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"hash\": \"hash_0\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"item_id\": \"7abdd4e5-d685-43ff-ba79-5e8b2f700b5b\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"item_description\": \"12 Tiras de Frango\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"item_type\": \"PRODUCT\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quantity\": \"1\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"selected_currency\": \"BRL\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vendor_uid\": \"11.6.1350\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"store_uid\": \"11.6.1350.50\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"fulfillment\": { \"method\": \"KIOSK\", \"catalog_uid\": \"5\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"price\": { \"unit_price\": [{ \"currency_code\": \"BRL\", \"gross_price\": \"64.9\", \"net_price\": \"64.9\", \"taxes\": [], \"taxes_value\": \"0\", \"discount_value\": \"0\", \"subtotal_before_taxes\": \"64.9\", \"discounts\": [] }] },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"modifier_groups\": []`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"payment_methods\": [{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"uid\": \"80242d0c-3bdd-4e8a-8ec2-eb250230b4e9\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"method\": \"CREDIT\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"currency_code\": \"BRL\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"total\": \"64.9\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"details\": { \"processor\": \"Tarjeta\", \"transaction_status\": \"APPROVED\", \"transaction_type\": \"CREDIT\", \"transaction_id\": \"BR-K000-05-1793063248\", \"tid\": \"TF000000\", \"authorization_code\": \"0000000000000\", \"total_bill\": \"64.9\", \"currency_code\": \"BRL\", \"exact_payment\": false, \"customer_cash_amount\": \"0\", \"mid\": \"\", \"voucher\": \"\", \"reference_number\": \"\", \"card\": null, \"acquirer\": null, \"transaction_date\": { \"date\": \"2026-10-26T22:08:00-03:00\", \"time_zone_name\": \"America/Sao_Paulo\", \"time_zone_type\": \"3\" } }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Aggregator`,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://app.fire.rest/api/v2/external/orders`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$FIRE_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @ifood-order.json`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # same body as in \"Inject order\"`})]}),`\n`]})})})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`201`,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"6f1c2b9e-3a1d-4c55-9b7e-0d2f6a7c8e10\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"external_order_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"BR-K000-05-1793063248\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMPLETED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"payment_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SUCCEEDED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"business_day_date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-26\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-27T01:08:00.405Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`409`,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CONFLICT\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DUPLICATE_ORDER\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Order with external id BR-K000-05-1793063248 already exists for this vendor.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"6f1c2b9e-3a1d-4c55-9b7e-0d2f6a7c8e10\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"externalOrderId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"BR-K000-05-1793063248\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMPLETED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`400`,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"VALIDATION_ERROR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Datos de entrada inválidos\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"details\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"custom\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"path\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [], `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"customer_uid or anonymous_customer_uid is required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create order (v2)","api":"POST https://app.fire.rest/api/v2/external/orders","description":"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.","authMethod":"bearer","href":"/en/api-reference/create-order-v2"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Customer identity (POS and kiosk)","slug":"customer-identity-pos-and-kiosk","depth":2,"children":[]},{"title":"Body — POS and kiosk","slug":"body-—-pos-and-kiosk","depth":2,"children":[]},{"title":"Body — aggregators","slug":"body-—-aggregators","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"POS or kiosk","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"37\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> https://app.fire.rest/api/v2/external/orders\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"x-api-key: \u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">$FIRE_API_KEY\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"anonymous_customer_uid: device-session-0001\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"order_code\": \"BR-K000-05-1793063248\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"vendor_uid\": \"11.6.1350\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"catalog_uid\": \"5\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"status\": \"COMPLETED\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"payment_status\": \"SUCCEEDED\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"channel\": { \"uid\": \"c784d4ba-23c7-4929-b2f0-1a1960d9cdc2\", \"code\": \"KIOSK\" },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"service\": { \"uid\": \"726c4892-48b9-45da-b066-2a8e83d2cb78\", \"code\": \"Dine-In\" },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"store\": { \"uid\": \"11.6.1350.50\", \"code\": \"K000\", \"name\": \"Tienda demo\", \"vendor_uid\": \"11.6.1350\", \"vendor_name\": \"Vendor demo\" },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"fulfillment\": { \"method\": \"KIOSK\", \"catalog_uid\": \"5\", \"details\": { \"buzzer_name\": \"Cliente\" } },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"customer\": { \"uid\": \"device-session-0001\", \"name\": \"CONSUMIDOR\", \"last_name\": \"FINAL\", \"phone\": \"\" },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"metadata\": { \"display_code\": \"48K\" },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"order_lines\": [{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"hash\": \"hash_0\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"item_id\": \"7abdd4e5-d685-43ff-ba79-5e8b2f700b5b\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"item_description\": \"12 Tiras de Frango\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"item_type\": \"PRODUCT\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"quantity\": \"1\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"selected_currency\": \"BRL\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"vendor_uid\": \"11.6.1350\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"store_uid\": \"11.6.1350.50\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"fulfillment\": { \"method\": \"KIOSK\", \"catalog_uid\": \"5\" },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"price\": { \"unit_price\": [{ \"currency_code\": \"BRL\", \"gross_price\": \"64.9\", \"net_price\": \"64.9\", \"taxes\": [], \"taxes_value\": \"0\", \"discount_value\": \"0\", \"subtotal_before_taxes\": \"64.9\", \"discounts\": [] }] },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"modifier_groups\": []\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"payment_methods\": [{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"uid\": \"80242d0c-3bdd-4e8a-8ec2-eb250230b4e9\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"method\": \"CREDIT\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"currency_code\": \"BRL\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"total\": \"64.9\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"details\": { \"processor\": \"Tarjeta\", \"transaction_status\": \"APPROVED\", \"transaction_type\": \"CREDIT\", \"transaction_id\": \"BR-K000-05-1793063248\", \"tid\": \"TF000000\", \"authorization_code\": \"0000000000000\", \"total_bill\": \"64.9\", \"currency_code\": \"BRL\", \"exact_payment\": false, \"customer_cash_amount\": \"0\", \"mid\": \"\", \"voucher\": \"\", \"reference_number\": \"\", \"card\": null, \"acquirer\": null, \"transaction_date\": { \"date\": \"2026-10-26T22:08:00-03:00\", \"time_zone_name\": \"America/Sao_Paulo\", \"time_zone_type\": \"3\" } }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Aggregator","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"4\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> https://app.fire.rest/api/v2/external/orders\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"x-api-key: \u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">$FIRE_API_KEY\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> @ifood-order.json\u003c/span>\u003cspan style=\"color:#6E7781;--shiki-dark:#6A9955\"> # same body as in \"Inject order\"\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"201","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"11\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"6f1c2b9e-3a1d-4c55-9b7e-0d2f6a7c8e10\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"external_order_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"BR-K000-05-1793063248\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"COMPLETED\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"payment_status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"SUCCEEDED\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"business_day_date\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-10-26\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-10-27T01:08:00.405Z\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"409","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"7\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"CONFLICT\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"DUPLICATE_ORDER\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Order with external id BR-K000-05-1793063248 already exists for this vendor.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: { \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"6f1c2b9e-3a1d-4c55-9b7e-0d2f6a7c8e10\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"externalOrderId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"BR-K000-05-1793063248\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"COMPLETED\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"400","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"6\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"VALIDATION_ERROR\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Datos de entrada inválidos\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"details\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"custom\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"path\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [], \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"customer_uid or anonymous_customer_uid is required\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Create order (v2)","path":"/api/v2/external/orders","servers":[{"url":"https://app.fire.rest"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{"x-api-key":{"schema":[{"type":"string","description":"Your Fire API key with the `orders:write` scope. `Authorization: Bearer \u003capi_key>` is also accepted. The key must be bound to a vendor : the order’s account comes from that vendor. A key without a vendor is rejected with `403` . You don’t need to send the `account` header; if it arrives, it is ignored.","required":true}]},"anonymous_customer_uid":{"schema":[{"type":"string","description":"Identifier of the device’s anonymous session (POS or kiosk). This is the usual case."}]},"customer_uid":{"schema":[{"type":"string","description":"Identifier of a registered customer."}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"order_code":[{"type":"string","description":"Unique order code in your system. If an order with that code already exists for your vendor, the response is `409` .","required":true}],"vendor_uid":[{"type":"string","description":"Order vendor (e.g. `11.6.1350` ).","required":true}],"catalog_uid":[{"type":"string","description":"Catalog of the sales channel.","required":true}],"status":[{"type":"string","description":"`COMPLETED` if the sale is closed; `OPEN` if it is still waiting to be charged. An order that does not arrive as `COMPLETED` + `SUCCEEDED` stays pending payment."}],"payment_status":[{"type":"string","description":"`SUCCEEDED` if it has already been charged."}],"channel":[{"type":"object","properties":{"uid":[{"type":"string","description":"Channel UID in Fire.","required":true}],"code":[{"type":"string","description":"Channel code (e.g. `POS` , `KIOSK` ).","required":true}]},"description":"Sales channel. Its `uid` decides how the body is read.","required":true}],"service":[{"type":"object","properties":{"uid":[{"type":"string","description":"Service UID in Fire.","required":true}],"code":[{"type":"string","description":"Service code (e.g. `Dine-In` , `Takeaway` ).","required":true}]},"description":"Sale service.","required":true}],"store":[{"type":"object","properties":{"uid":[{"type":"string","description":"Store UID.","required":true}],"code":[{"type":"string","description":"Store code.","required":true}],"name":[{"type":"string","description":"Store name.","required":true}],"vendor_uid":[{"type":"string","description":"Store vendor.","required":true}],"vendor_name":[{"type":"string","description":"Vendor name.","required":true}]},"description":"Store of the sale.","required":true}],"fulfillment":[{"type":"object","properties":{"method":[{"type":"string","description":"`POS` or `KIOSK` .","required":true}],"catalog_uid":[{"type":"string","description":"Catalog. It must be enabled for your account.","required":true}],"details":[{"type":"object","properties":{},"description":"Delivery data, e.g. `buzzer_name` (name used to call the customer)."}]},"description":"Delivery method and catalog.","required":true}],"device":[{"type":"object","properties":{},"description":"Device that recorded the sale: `uid` , `name` , `metadata` ."}],"operator":[{"type":"object","properties":{},"description":"Cashier or operator: `uid` , `name` , `session` ( `uid` , `start_timestamp` , `end_timestamp` ). `null` on the kiosk."}],"customer":[{"type":"object","properties":{},"description":"Customer data: `uid` , `name` , `last_name` , `phone` (required if you send the object), `email` , `gov_id_type` , `gov_id_number` ."}],"billing":[{"type":"object","properties":{},"description":"Billing data: `gov_id_type` , `gov_id_number` , `business_name` ."}],"metadata":[{"type":"object","properties":{},"description":"Additional sale data, e.g. `display_code` (number used to call the order) and kiosk or POS data."}],"order_lines":[{"type":"array","items":[{"type":"object","properties":{"hash":[{"type":"string","description":"Line identifier within the order.","required":true}],"item_id":[{"type":"string","description":"Product UID in the catalog.","required":true}],"item_description":[{"type":"string","description":"Product name.","required":true}],"item_type":[{"type":"string","description":"Item type (e.g. `PRODUCT` ).","required":true}],"quantity":[{"type":"string","description":"Quantity, as text ( `\"1\"` ).","required":true}],"selected_currency":[{"type":"string","description":"Currency (e.g. `BRL` ).","required":true}],"vendor_uid":[{"type":"string","description":"Vendor.","required":true}],"store_uid":[{"type":"string","description":"Store.","required":true}],"fulfillment":[{"type":"object","properties":{},"description":"`method` and `catalog_uid` , as in the order.","required":true}],"price":[{"type":"object","properties":{},"description":"Unit price only: `unit_price[]` with `currency_code` , `gross_price` , `net_price` , `taxes` , `taxes_value` , `discount_value` , `subtotal_before_taxes` , and `discounts` . Amounts are sent as text ( `\"14.9\"` ). Fire calculates the line and order totals.","required":true}],"modifier_groups":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Modifier groups ( `uid` , `description` , `selected_modifiers[]` ). Each modifier has the same shape as a line. `[]` if there are none.","required":true}],"additional_info":[{"type":"object","properties":{},"description":"Product codes, e.g. `code` , `external_code` , `ncm` ."}]}}],"description":"Order products.","required":true}],"payment_methods":[{"type":"array","items":[{"type":"object","properties":{"uid":[{"type":"string","description":"Payment method UID.","required":true}],"method":[{"type":"string","description":"Payment method (e.g. `CASH` , `CREDIT` , `DEBIT` ).","required":true}],"currency_code":[{"type":"string","description":"Currency.","required":true}],"total":[{"type":"string","description":"Amount paid, as text.","required":true}],"details":[{"type":"object","properties":{},"description":"Transaction details: `processor` , `transaction_status` ( `APPROVED` , `PENDING` ), `transaction_type` , `transaction_id` , `tid` , `authorization_code` , `total_bill` , `customer_cash_amount` , `change_amount` , `card` , `acquirer` , `transaction_date` . A `PENDING` payment leaves the order open, waiting to be charged."}],"metadata":[{"type":"object","properties":{},"description":"Payment authorizer data."}]}}],"description":"Order payments.","required":true}]}}],"examples":{"example":{"value":{"order_code":"\u003cstring>","vendor_uid":"\u003cstring>","catalog_uid":"\u003cstring>","status":"\u003cstring>","payment_status":"\u003cstring>","channel":{"uid":"\u003cstring>","code":"\u003cstring>"},"service":{"uid":"\u003cstring>","code":"\u003cstring>"},"store":{"uid":"\u003cstring>","code":"\u003cstring>","name":"\u003cstring>","vendor_uid":"\u003cstring>","vendor_name":"\u003cstring>"},"fulfillment":{"method":"\u003cstring>","catalog_uid":"\u003cstring>","details":{}},"device":{},"operator":{},"customer":{},"billing":{},"metadata":{},"order_lines":[{"hash":"\u003cstring>","item_id":"\u003cstring>","item_description":"\u003cstring>","item_type":"\u003cstring>","quantity":"\u003cstring>","selected_currency":"\u003cstring>","vendor_uid":"\u003cstring>","store_uid":"\u003cstring>","fulfillment":{},"price":{},"modifier_groups":[{}],"additional_info":{}}],"payment_methods":[{"uid":"\u003cstring>","method":"\u003cstring>","currency_code":"\u003cstring>","total":"\u003cstring>","details":{},"metadata":{}}]}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"success":[{"type":"boolean","description":"`true` when the order was created."}],"data":[{"type":"object","properties":{"id":[{"type":"string","description":"Order ID in Fire. Use it to read, update, or cancel the order."}],"external_order_id":[{"type":"string","description":"The `order_code` you sent."}],"status":[{"type":"string","description":"`COMPLETED` or `OPEN` ."}],"payment_status":[{"type":"string","description":"`SUCCEEDED` or `PENDING` ."}],"business_day_date":[{"type":"string","description":"Store business day, `YYYY-MM-DD` ."}],"created_at":[{"type":"string","description":"Creation date in Fire (ISO 8601)."}]}}]}}],"examples":{"example":{"value":{"success":true,"data":{"id":"\u003cstring>","external_order_id":"\u003cstring>","status":"\u003cstring>","payment_status":"\u003cstring>","business_day_date":"\u003cstring>","created_at":"\u003cstring>"}}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"firepos","siteName":"Fire Docs","title":"Create order (v2) - Fire Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/en/api-reference/create-order-v2","matchLevel":0},"es":{"href":"/es/api-reference/create-order-v2","matchLevel":1},"pt":{"href":"/pt/api-reference/create-order-v2","matchLevel":1}}},"lastModified":"2026-10-29T22:12:18.816Z","originalFileLocation":"en/api-reference/create-order-v2.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Fire Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create order (v2) - Fire Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Fire Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fire.rest/en/api-reference/create-order-v2\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://firepos.mintlify.app/_mintlify/api/og/v2?division=API\u0026amp;title=Create+order+%28v2%29\u0026amp;description=Create+an+order+in+Fire+from+the+POS%2C+the+kiosk%2C+or+an+aggregator+integrator%2C+using+the+same+order+structure+they+already+send+today.\u0026amp;theme=e7d88b15424b8f4efffd3b0b\u0026amp;signature=5f44b3dd3951c947206535f68248cdb196809eb44a3743ec907f940063514d16\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create order (v2) - Fire Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://firepos.mintlify.app/_mintlify/api/og/v2?division=API\u0026amp;title=Create+order+%28v2%29\u0026amp;description=Create+an+order+in+Fire+from+the+POS%2C+the+kiosk%2C+or+an+aggregator+integrator%2C+using+the+same+order+structure+they+already+send+today.\u0026amp;theme=e7d88b15424b8f4efffd3b0b\u0026amp;signature=5f44b3dd3951c947206535f68248cdb196809eb44a3743ec907f940063514d16\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/firepos/s0SqGSOWKs91UOFy/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Fire Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#E6293D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fire.rest/en/api-reference/create-order-v2\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/api-reference/create-order-v2.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.fire.rest/en/api-reference/create-order-v2\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.fire.rest/es/api-reference/create-order-v2\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.fire.rest/pt/api-reference/create-order-v2\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.fire.rest/en/api-reference/create-order-v2\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fire.rest/#organization\",\"name\":\"Fire Docs\",\"url\":\"https://docs.fire.rest\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/firepos/gddYq9ZzZKtuBajb/logo/firedocs-light.png?fit=max\u0026auto=format\u0026n=gddYq9ZzZKtuBajb\u0026q=85\u0026s=93281297e6bf96adc03944d9b1f7a63c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fire.rest#website\",\"name\":\"Fire Docs\",\"url\":\"https://docs.fire.rest\",\"publisher\":{\"@id\":\"https://docs.fire.rest/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fire.rest/en/api-reference/create-order-v2#webpage\",\"url\":\"https://docs.fire.rest/en/api-reference/create-order-v2\",\"name\":\"Create order (v2)\",\"description\":\"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.\",\"dateModified\":\"2026-10-29T22:12:18.816Z\",\"isPartOf\":{\"@id\":\"https://docs.fire.rest#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fire.rest/en/api-reference/create-order-v2#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fire.rest/en/api-reference/create-order-v2#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API\",\"item\":\"https://docs.fire.rest/en/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create order (v2)\",\"item\":\"https://docs.fire.rest/en/api-reference/create-order-v2\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fire.rest/en/api-reference/create-order-v2#apireference\",\"headline\":\"Create order (v2)\",\"name\":\"Create order (v2)\",\"description\":\"Create an order in Fire from the POS, the kiosk, or an aggregator integrator, using the same order structure they already send today.\",\"url\":\"https://docs.fire.rest/en/api-reference/create-order-v2\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fire.rest/en/api-reference/create-order-v2#webpage\"},\"dateModified\":\"2026-10-29T22:12:18.816Z\",\"publisher\":{\"@id\":\"https://docs.fire.rest/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fire.rest#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Fire Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Fire Docs","nav":{"global":null,"languages":[{"language":"en","default":true,"footer":{"socials":{"x":"https://x.com/fire","github":"https://github.com/fire"}},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/en/introduction"}]},{"tab":"User manuals","pages":[{"title":"User manuals","href":"/en/manuals/kiosk/linking"}]},{"tab":"Webhook reference","pages":[{"title":"Webhook reference","href":"/en/webhook-reference/overview"}]},{"tab":"API reference","groups":[{"group":"API","pages":[{"title":"API reference","href":"/en/api-reference/introduction"},{"title":"Login","api":"POST https://stg.api.fire.rest/api/authentication/login","href":"/en/api-reference/login"},{"title":"Inject order","api":"POST /api/v4/integrations/sales/aggregator/orders","href":"/en/api-reference/orders"},{"title":"Create order (v1)","api":"POST https://app.fire.rest/api/v1/external/orders","description":"Create an order in Fire by sending it in Fire format. For the POS, kiosk, and aggregator structure, use version 2.","href":"/en/api-reference/create-order"},{"title":"Create order (v2)","api":"POST https://app.fire.rest/api/v2/external/orders","href":"/en/api-reference/create-order-v2"},{"title":"Get a fiscal request","api":"GET /api/v1/external/fiscal/numbering/{fiscalRequestId}","description":"Returns the current state of a numbering request by its identifier — including the authority's verdict once it arrives.","href":"/en/api-reference/fiscal-document-get"},{"title":"List an order's fiscal requests","api":"GET /api/v1/external/fiscal/numbering","href":"/en/api-reference/fiscal-documents-query"},{"title":"Cancel order","api":"POST /api/v4/integrations/sales/aggregator/orders/{order_uid}/refund","href":"/en/api-reference/cancel-order"},{"title":"Document types catalog","api":"GET /api/v1/external/fiscal/document-types","href":"/en/api-reference/fiscal-document-types"},{"title":"Fiscal callback","api":"POST https://app.fire.rest/api/v1/webhooks/fiscal/callback","href":"/en/api-reference/fiscal-callback"},{"title":"Aggregator order status","api":"POST https://app.fire.rest/api/v1/webhooks/aggregators/order-status","href":"/en/api-reference/aggregator-order-status"},{"title":"Menu sync status","api":"POST https://app.fire.rest/api/v1/webhooks/xmart/sync-status","href":"/en/api-reference/menu-sync-status"},{"title":"Channels config","api":"GET https://api.fire.rest/api/v1/fire/external/channels/config","href":"/en/api-reference/channels-config"},{"title":"Payment methods config","api":"GET https://api.fire.rest/api/v1/external/payment-methods/config","href":"/en/api-reference/payment-methods-config"},{"title":"Payment method configuration (v2)","api":"GET https://api.fire.rest/api/v2/external/payment-methods/config","href":"/en/api-reference/payment-methods-config-v2"},{"title":"List stores","api":"GET https://api.fire.rest/api/v1/fire/external/stores","href":"/en/api-reference/list-stores"},{"title":"Get store","api":"GET https://api.fire.rest/api/v1/fire/external/stores/{storeId}","href":"/en/api-reference/get-store"},{"title":"List store terminals","api":"GET https://api.fire.rest/api/v1/fire/external/stores/{storeId}/terminals","href":"/en/api-reference/list-store-terminals"},{"title":"List menus","api":"GET https://api.fire.rest/api/v1/fire/external/stores/{storeId}/menus","href":"/en/api-reference/list-menus"},{"title":"Get menu","api":"GET https://api.fire.rest/api/v1/fire/external/stores/{storeId}/menu","href":"/en/api-reference/get-menu"},{"title":"List orders","api":"GET https://api.fire.rest/api/v1/fire/external/orders","href":"/en/api-reference/list-orders"},{"title":"List store orders","api":"GET https://api.fire.rest/api/v1/fire/external/stores/{storeId}/orders","href":"/en/api-reference/list-store-orders"},{"title":"Get order","api":"GET https://api.fire.rest/api/v1/fire/external/orders/{orderId}","href":"/en/api-reference/get-order"},{"title":"Update order","api":"PUT https://api.fire.rest/api/v1/fire/external/orders/{orderId}","href":"/en/api-reference/update-order"},{"title":"Confirm payment","api":"POST https://api.fire.rest/api/v1/fire/external/orders/{orderId}/confirm-payment","href":"/en/api-reference/confirm-payment"},{"title":"Record lost sale","api":"POST https://api.fire.rest/api/v1/fire/external/orders/lost-sales","href":"/en/api-reference/lost-sales"},{"group":"Printing","root":{"title":"Print an order document","api":"POST https://api.fire.rest/api/v1/fire/external/printing/orders/{orderRef}/documents/{document}","href":"/en/api-reference/print-order-document"},"pages":[{"title":"Print an order document","api":"POST https://api.fire.rest/api/v1/fire/external/printing/orders/{orderRef}/documents/{document}","href":"/en/api-reference/print-order-document"},{"title":"Print the day close","api":"POST https://api.fire.rest/api/v1/fire/external/printing/stores/{storeId}/days/{businessDayDate}","href":"/en/api-reference/print-day-close"}]},{"title":"Decline reasons","api":"GET https://api.fire.rest/api/v1/fire/external/payment-decline-reasons","href":"/en/api-reference/payment-decline-reasons"}]},{"group":"Partner APIs","pages":[{"title":"Cancel order (partners)","api":"POST https://app.fire.rest/api/v1/adapters/xmart/stores/orders/{orderId}/cancel","href":"/en/api-reference/cancel-order-partners"},{"title":"Cancellation eligibility","api":"GET https://app.fire.rest/api/v1/external/orders/{orderId}/cancellation-eligibility","href":"/en/api-reference/cancellation-eligibility"},{"title":"Cancellation reasons","api":"GET https://app.fire.rest/api/v1/adapters/xmart/stores/orders/{orderId}/cancellation-reasons","href":"/en/api-reference/cancellation-reasons"},{"group":"Fiscal numbering","root":{"title":"Request fiscal numbering","api":"POST /api/v1/external/fiscal/numbering","href":"/en/api-reference/fiscal-documents"},"pages":[{"title":"Request fiscal numbering","api":"POST /api/v1/external/fiscal/numbering","href":"/en/api-reference/fiscal-documents"},{"title":"Request fiscal numbering (v2)","api":"POST https://app.fire.rest/api/v2/external/fiscal/numbering","href":"/en/api-reference/fiscal-documents-v2"}]},{"title":"Fiscal print data","api":"GET https://app.fire.rest/api/v1/restaurant-os/injected-orders/{orderId}/fiscal-print","href":"/en/api-reference/fiscal-print"},{"title":"Expected cash","api":"GET https://app.fire.rest/api/v1/adapters/xmart/cash-management/expected","href":"/en/api-reference/cash-expected"},{"group":"Cash reconciliations","root":{"title":"Cash reconciliations","api":"POST https://app.fire.rest/api/v1/adapters/xmart/cash-management/reconciliations","href":"/en/api-reference/cash-reconciliations"},"pages":[{"title":"Cash reconciliations","api":"POST https://app.fire.rest/api/v1/adapters/xmart/cash-management/reconciliations","href":"/en/api-reference/cash-reconciliations"},{"title":"Cash reconciliations (v2)","api":"POST https://app.fire.rest/api/v2/external/cash-management/reconciliations","href":"/en/api-reference/cash-reconciliations-v2"}]},{"title":"KDS order status","api":"POST https://app.fire.rest/api/v1/webhooks/kds/order-status","href":"/en/api-reference/kds-order-status"},{"title":"Component health","api":"POST https://api.fire.rest/api/v1/fire/external/component-health","href":"/en/api-reference/component-health"}]}]},{"tab":"Events","pages":[{"title":"Events","href":"/en/events/overview"}]},{"tab":"FUEL","pages":[{"title":"FUEL","href":"/en/fuel/introduction"}]},{"tab":"BOH API","pages":[{"title":"BOH API","href":"/en/boh-api/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/en/changelog"}]}]},{"language":"es","footer":{"socials":{"x":"https://x.com/fire","github":"https://github.com/fire"}},"pages":[{"title":"es","href":"/es/api-reference/create-order-v2"}]},{"language":"pt","footer":{"socials":{"x":"https://x.com/fire","github":"https://github.com/fire"}},"pages":[{"title":"pt","href":"/pt/api-reference/create-order-v2"}]}]},"title":"Create order (v2) - Fire Docs","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js"]}