{ "success": false, "error": "NOT_FOUND", "message": "InjectedOrder not found with ID EXT-100234"}
{ "success": false, "error": "CONFLICT", "code": "AMBIGUOUS_ORDER_REFERENCE", "message": "External order id ORD-123 matches 2 orders across vendors; cannot disambiguate", "data": { "reference": "ORD-123", "matchCount": 2 }}
Returns the cancellation reasons that apply to an order. Use it to build the reason picker before you call Cancel order (partners).The response always has the same shape, { mode, reasons }, wherever the reasons come from:
mode: "catalog": show the reasons list so the person can choose.
mode: "free_text": there are no reasons to offer. Show a free-text field. In this case reasons is always [].
orderId accepts any of these forms: the external id you sent when injecting the order, the order_id from the injection payload, the Fire order_code, or the internal Fire UUID. Fire looks for the order within your key’s vendors. If the id matches more than one order, it responds 409 instead of picking one.
This endpoint does not tell you whether the order can be cancelled. It returns reasons even if the order is already cancelled. To find out before trying, use Cancellation eligibility.
Fire picks the source based on the order’s channel:
Channel with an active SAG gateway (aggregators): reasons are fetched from SAG on every call. All of them come with group set to "<provider> (<channel>)", for example "SAG (KEETA)". If SAG does not respond or returns no reasons, the response is free_text. Fire never replaces the SAG catalog with its own, because SAG would reject those codes. In this case surface and locale are not used.
Any other channel: the Fire catalog is used, filtered by surface and by the order’s channel. If the account has its own reasons, they are merged with the global catalog: for the same code the account’s reason wins, and the account can disable a global reason. Reasons come sorted.
The Fire catalog is cached for up to 5 minutes. A change to the reasons can take that long to show up. SAG reasons are not cached.
Your Fire API key with the orders:read scope. The key must be scoped to a vendor: a key without an account is rejected with 403. It is also accepted as Authorization: Bearer <api-key>; if you send both headers, x-api-key is used.
Who will show the reasons. Each reason in the Fire catalog is enabled for one or more surfaces. Today there are pos, kds, and backoffice, and all three are meant for store or operations staff, not for the end customer.An unknown value is not an error: it returns free_text. free_text is a mode value, not a surface.
Language of cancellationReason and group in the Fire catalog: es, en, or pt. If a text does not exist in that language, Spanish is used, then English, then Portuguese. The match is exact: pt-BR does not find pt and falls back to Spanish. It does not affect SAG reasons.
GET https://app.fire.rest/api/v1/adapters/xmart/stores/orders/EXT-100234/cancellation-reasons?surface=pos&locale=enx-api-key: <your_api_key>
The key is missing, has an invalid format, is revoked, or has expired.
403
FORBIDDEN
The key lacks the orders:read scope or is not scoped to an account.
404
NOT_FOUND
No order with that id exists within your key’s vendors. An order from another vendor also returns 404.
409
CONFLICT
The id matches more than one order (code: AMBIGUOUS_ORDER_REFERENCE). It can happen with order_code, which is not unique. Retry with the external id or the UUID.
Branch on the status, error, and code. The message text can change.
Call this endpoint with the order you are about to cancel.
2
Show the list or the free-text field
With mode: "catalog", show the reasons (grouped by group, if you want). If the chosen reason has requiresNote: true, ask for the note. With mode: "free_text", ask for free text.
reason: the chosen reason’s cancellationReason, or the free text.
cancellationType: the chosen reason’s cancellationType.
cancellationNote: the note, if there is one.
You do not need to send cancellationGroup.
reason requires at least 5 characters. If a reason’s label is shorter, send a longer text in reason.Fire does not check that cancellationType exists in the catalog either. If you send a code that did not come from this endpoint, the cancellation does not fail, but the reason is stored without a group. On SAG channels, the code must come from the SAG catalog.
Ask whether the order can be cancelled before trying.
{"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":"6ae20a362c61db9c4c46079a","collectionId":"984f8340-1726-4100-a989-c42a445b9714","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae20a362c61db9c4c46079a"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae20a362c61db9c4c46079a","clientVersion":"0.0.4006","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":38},{"language":"es","tag":"Referencia API","count":38},{"language":"pt","tag":"Referência da API","count":38},{"language":"en","tag":"Guides","count":35},{"language":"es","tag":"Guías","count":35},{"language":"pt","tag":"Guias","count":35},{"language":"en","tag":"API","count":27},{"language":"es","tag":"API","count":27},{"language":"pt","tag":"API","count":27},{"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"editor-nav-generations","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":"editor-agent-model-picker","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/cancellation-reasons","slug":"/en/api-reference/cancellation-reasons","pageMetadata":{"title":"Cancellation reasons","api":"GET https://app.fire.rest/api/v1/adapters/xmart/stores/orders/{orderId}/cancellation-reasons","description":"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.","authMethod":"bearer","href":"/en/api-reference/cancellation-reasons"},"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: \"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.\"\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},{Card,CardGroup,Expandable,Heading,Info,Note,ParamField,ResponseField,Step,Steps,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Returns the cancellation reasons that apply to an order. Use it to build the reason picker before you call `,_jsx(_components.a,{href:`/en/api-reference/cancel-order-partners`,children:`Cancel order (partners)`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The response always has the same shape, `,_jsx(_components.code,{children:`{ mode, reasons }`}),`, wherever the reasons come from:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`mode: \"catalog\"`}),`: show the `,_jsx(_components.code,{children:`reasons`}),` list so the person can choose.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`mode: \"free_text\"`}),`: there are no reasons to offer. Show a free-text field. In this case `,_jsx(_components.code,{children:`reasons`}),` is always `,_jsx(_components.code,{children:`[]`}),`.`]}),`\n`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`orderId`}),` accepts any of these forms: the `,_jsx(_components.strong,{children:`external id`}),` you sent when injecting the order, the `,_jsx(_components.code,{children:`order_id`}),` from the injection payload, the Fire `,_jsx(_components.code,{children:`order_code`}),`, or the internal Fire UUID. Fire looks for the order within your key’s vendors. If the id matches more than one order, it responds `,_jsx(_components.code,{children:`409`}),` instead of picking one.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`This endpoint does not tell you whether the order can be cancelled.`}),` It returns reasons even if the order is already cancelled. To find out before trying, use `,_jsx(_components.a,{href:`/en/api-reference/cancellation-eligibility`,children:`Cancellation eligibility`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`where-the-reasons-come-from`,children:`Where the reasons come from`}),`\n`,_jsx(_components.p,{children:`Fire picks the source based on the order’s channel:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Channel with an active SAG gateway`}),` (aggregators): reasons are fetched from SAG on every call. All of them come with `,_jsx(_components.code,{children:`group`}),` set to `,_jsx(_components.code,{children:`\"\u003cprovider> (\u003cchannel>)\"`}),`, for example `,_jsx(_components.code,{children:`\"SAG (KEETA)\"`}),`. If SAG does not respond or returns no reasons, the response is `,_jsx(_components.code,{children:`free_text`}),`. Fire never replaces the SAG catalog with its own, because SAG would reject those codes. In this case `,_jsx(_components.code,{children:`surface`}),` and `,_jsx(_components.code,{children:`locale`}),` are not used.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Any other channel`}),`: the Fire catalog is used, filtered by `,_jsx(_components.code,{children:`surface`}),` and by the order’s channel. If the account has its own reasons, they are merged with the global catalog: for the same code the account’s reason wins, and the account can disable a global reason. Reasons come sorted.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`The Fire catalog is cached for up to 5 minutes. A change to the reasons can take that long to show up. SAG reasons are not cached.`})}),`\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:read`}),` scope. The key `,_jsx(_components.strong,{children:`must be scoped to a vendor`}),`: a key without an account is rejected with `,_jsx(_components.code,{children:`403`}),`. It is also accepted as `,_jsx(_components.code,{children:`Authorization: Bearer \u003capi-key>`}),`; if you send both headers, `,_jsx(_components.code,{children:`x-api-key`}),` is used.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`path-parameters`,children:`Path parameters`}),`\n`,_jsx(ParamField,{path:`orderId`,type:`string`,required:true,id:`param-order-id`,children:_jsxs(_components.p,{children:[`Order identifier: external id, payload `,_jsx(_components.code,{children:`order_id`}),`, Fire `,_jsx(_components.code,{children:`order_code`}),`, or internal Fire UUID.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query parameters`}),`\n`,_jsxs(ParamField,{query:`surface`,type:`string`,default:`pos`,id:`param-surface`,children:[_jsxs(_components.p,{children:[`Who will show the reasons. Each reason in the Fire catalog is enabled for one or more surfaces. Today there are `,_jsx(_components.code,{children:`pos`}),`, `,_jsx(_components.code,{children:`kds`}),`, and `,_jsx(_components.code,{children:`backoffice`}),`, and all three are meant for store or operations staff, not for the end customer.`]}),_jsxs(_components.p,{children:[`An unknown value is not an error: it returns `,_jsx(_components.code,{children:`free_text`}),`. `,_jsx(_components.code,{children:`free_text`}),` is a `,_jsx(_components.code,{children:`mode`}),` value, not a surface.`]})]}),`\n`,_jsx(ParamField,{query:`locale`,type:`string`,default:`es`,id:`param-locale`,children:_jsxs(_components.p,{children:[`Language of `,_jsx(_components.code,{children:`cancellationReason`}),` and `,_jsx(_components.code,{children:`group`}),` in the Fire catalog: `,_jsx(_components.code,{children:`es`}),`, `,_jsx(_components.code,{children:`en`}),`, or `,_jsx(_components.code,{children:`pt`}),`. If a text does not exist in that language, Spanish is used, then English, then Portuguese. The match is exact: `,_jsx(_components.code,{children:`pt-BR`}),` does not find `,_jsx(_components.code,{children:`pt`}),` and falls back to Spanish. It does not affect SAG reasons.`]})}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`The response comes wrapped in the standard envelope: `,_jsx(_components.code,{children:`{ \"success\": true, \"data\": { ... } }`}),`.`]}),`\n`,_jsx(ResponseField,{name:`mode`,type:`string`,id:`param-mode`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`catalog`}),` or `,_jsx(_components.code,{children:`free_text`}),`. Tells you whether to show a list or a free-text field.`]})}),`\n`,_jsxs(ResponseField,{name:`reasons`,type:`array`,id:`param-reasons`,children:[_jsxs(_components.p,{children:[`The reasons. Empty when `,_jsx(_components.code,{children:`mode`}),` is `,_jsx(_components.code,{children:`free_text`}),`.`]}),_jsxs(Expandable,{title:`reasons[]`,children:[_jsx(ResponseField,{name:`cancellationType`,type:`string`,id:`param-cancellation-type`,children:_jsxs(_components.p,{children:[`Reason code. It is the value you send as `,_jsx(_components.code,{children:`cancellationType`}),` when cancelling.`]})}),_jsx(ResponseField,{name:`cancellationReason`,type:`string`,id:`param-cancellation-reason`,children:_jsxs(_components.p,{children:[`Text to display. In the Fire catalog it comes in the requested language. For SAG it is the description SAG returns, or `,_jsx(_components.code,{children:`\"\"`}),` if it has none.`]})}),_jsx(ResponseField,{name:`requiresNote`,type:`boolean`,id:`param-requires-note`,children:_jsxs(_components.p,{children:[`Fire catalog only. If `,_jsx(_components.code,{children:`true`}),`, ask the person for a mandatory note. Fire does not validate it when cancelling: your interface has to enforce it.`]})}),_jsx(ResponseField,{name:`group`,type:`string`,id:`param-group`,children:_jsxs(_components.p,{children:[`Reason group, to show the list grouped. In the Fire catalog it may be missing. For SAG it is always `,_jsx(_components.code,{children:`\"\u003cprovider> (\u003cchannel>)\"`}),`.`]})})]})]}),`\n`,`\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:`Status`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`error`})}),_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:`BUSINESS_ERROR`})}),_jsx(_components.td,{children:`The key has no vendors bound to it.`})]}),_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:`The key is missing, has an invalid format, is revoked, or has expired.`})]}),_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:[`The key lacks the `,_jsx(_components.code,{children:`orders:read`}),` scope or is not scoped to an account.`]})]}),_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`})}),_jsxs(_components.td,{children:[`No order with that id exists within your key’s vendors. An order from another vendor also returns `,_jsx(_components.code,{children:`404`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFLICT`})}),_jsxs(_components.td,{children:[`The id matches more than one order (`,_jsx(_components.code,{children:`code: AMBIGUOUS_ORDER_REFERENCE`}),`). It can happen with `,_jsx(_components.code,{children:`order_code`}),`, which is not unique. Retry with the external id or the UUID.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Branch on the status, `,_jsx(_components.code,{children:`error`}),`, and `,_jsx(_components.code,{children:`code`}),`. The `,_jsx(_components.code,{children:`message`}),` text can change.`]}),`\n`,_jsx(Heading,{level:`2`,id:`using-it-when-cancelling`,children:`Using it when cancelling`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Get the reasons`,children:_jsx(_components.p,{children:`Call this endpoint with the order you are about to cancel.`})}),_jsx(Step,{title:`Show the list or the free-text field`,children:_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`mode: \"catalog\"`}),`, show the reasons (grouped by `,_jsx(_components.code,{children:`group`}),`, if you want). If the chosen reason has `,_jsx(_components.code,{children:`requiresNote: true`}),`, ask for the note. With `,_jsx(_components.code,{children:`mode: \"free_text\"`}),`, ask for free text.`]})}),_jsxs(Step,{title:`Cancel`,children:[_jsxs(_components.p,{children:[`Call `,_jsx(_components.a,{href:`/en/api-reference/cancel-order-partners`,children:`Cancel order (partners)`}),` with:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`reason`}),`: the chosen reason’s `,_jsx(_components.code,{children:`cancellationReason`}),`, or the free text.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cancellationType`}),`: the chosen reason’s `,_jsx(_components.code,{children:`cancellationType`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cancellationNote`}),`: the note, if there is one.`]}),`\n`]}),_jsxs(_components.p,{children:[`You do not need to send `,_jsx(_components.code,{children:`cancellationGroup`}),`.`]})]})]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`reason`}),` requires `,_jsx(_components.strong,{children:`at least 5 characters`}),`. If a reason’s label is shorter, send a longer text in `,_jsx(_components.code,{children:`reason`}),`.`]}),_jsxs(_components.p,{children:[`Fire does not check that `,_jsx(_components.code,{children:`cancellationType`}),` exists in the catalog either. If you send a code that did not come from this endpoint, the cancellation does not fail, but the reason is stored without a group. On SAG channels, the code must come from the SAG catalog.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Cancel order (partners)`,icon:`ban`,href:`/en/api-reference/cancel-order-partners`,children:_jsx(_components.p,{children:`Cancel the order with the chosen reason.`})}),_jsx(Card,{title:`Cancellation eligibility`,icon:`circle-question`,href:`/en/api-reference/cancellation-eligibility`,children:_jsx(_components.p,{children:`Ask whether the order can be cancelled before trying.`})})]})]})}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":"Cancellation reasons","api":"GET https://app.fire.rest/api/v1/adapters/xmart/stores/orders/{orderId}/cancellation-reasons","description":"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.","authMethod":"bearer","href":"/en/api-reference/cancellation-reasons"}}},"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},{Card,CardGroup,CodeBlock,Expandable,Heading,Info,Note,ParamField,RequestExample,ResponseExample,ResponseField,Step,Steps,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Returns the cancellation reasons that apply to an order. Use it to build the reason picker before you call `,_jsx(_components.a,{href:`/en/api-reference/cancel-order-partners`,children:`Cancel order (partners)`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The response always has the same shape, `,_jsx(_components.code,{children:`{ mode, reasons }`}),`, wherever the reasons come from:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`mode: \"catalog\"`}),`: show the `,_jsx(_components.code,{children:`reasons`}),` list so the person can choose.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`mode: \"free_text\"`}),`: there are no reasons to offer. Show a free-text field. In this case `,_jsx(_components.code,{children:`reasons`}),` is always `,_jsx(_components.code,{children:`[]`}),`.`]}),`\n`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`orderId`}),` accepts any of these forms: the `,_jsx(_components.strong,{children:`external id`}),` you sent when injecting the order, the `,_jsx(_components.code,{children:`order_id`}),` from the injection payload, the Fire `,_jsx(_components.code,{children:`order_code`}),`, or the internal Fire UUID. Fire looks for the order within your key’s vendors. If the id matches more than one order, it responds `,_jsx(_components.code,{children:`409`}),` instead of picking one.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`This endpoint does not tell you whether the order can be cancelled.`}),` It returns reasons even if the order is already cancelled. To find out before trying, use `,_jsx(_components.a,{href:`/en/api-reference/cancellation-eligibility`,children:`Cancellation eligibility`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`where-the-reasons-come-from`,children:`Where the reasons come from`}),`\n`,_jsx(_components.p,{children:`Fire picks the source based on the order’s channel:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Channel with an active SAG gateway`}),` (aggregators): reasons are fetched from SAG on every call. All of them come with `,_jsx(_components.code,{children:`group`}),` set to `,_jsx(_components.code,{children:`\"\u003cprovider> (\u003cchannel>)\"`}),`, for example `,_jsx(_components.code,{children:`\"SAG (KEETA)\"`}),`. If SAG does not respond or returns no reasons, the response is `,_jsx(_components.code,{children:`free_text`}),`. Fire never replaces the SAG catalog with its own, because SAG would reject those codes. In this case `,_jsx(_components.code,{children:`surface`}),` and `,_jsx(_components.code,{children:`locale`}),` are not used.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Any other channel`}),`: the Fire catalog is used, filtered by `,_jsx(_components.code,{children:`surface`}),` and by the order’s channel. If the account has its own reasons, they are merged with the global catalog: for the same code the account’s reason wins, and the account can disable a global reason. Reasons come sorted.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`The Fire catalog is cached for up to 5 minutes. A change to the reasons can take that long to show up. SAG reasons are not cached.`})}),`\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:read`}),` scope. The key `,_jsx(_components.strong,{children:`must be scoped to a vendor`}),`: a key without an account is rejected with `,_jsx(_components.code,{children:`403`}),`. It is also accepted as `,_jsx(_components.code,{children:`Authorization: Bearer \u003capi-key>`}),`; if you send both headers, `,_jsx(_components.code,{children:`x-api-key`}),` is used.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`path-parameters`,children:`Path parameters`}),`\n`,_jsx(ParamField,{path:`orderId`,type:`string`,required:true,id:`param-order-id`,children:_jsxs(_components.p,{children:[`Order identifier: external id, payload `,_jsx(_components.code,{children:`order_id`}),`, Fire `,_jsx(_components.code,{children:`order_code`}),`, or internal Fire UUID.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query parameters`}),`\n`,_jsxs(ParamField,{query:`surface`,type:`string`,default:`pos`,id:`param-surface`,children:[_jsxs(_components.p,{children:[`Who will show the reasons. Each reason in the Fire catalog is enabled for one or more surfaces. Today there are `,_jsx(_components.code,{children:`pos`}),`, `,_jsx(_components.code,{children:`kds`}),`, and `,_jsx(_components.code,{children:`backoffice`}),`, and all three are meant for store or operations staff, not for the end customer.`]}),_jsxs(_components.p,{children:[`An unknown value is not an error: it returns `,_jsx(_components.code,{children:`free_text`}),`. `,_jsx(_components.code,{children:`free_text`}),` is a `,_jsx(_components.code,{children:`mode`}),` value, not a surface.`]})]}),`\n`,_jsx(ParamField,{query:`locale`,type:`string`,default:`es`,id:`param-locale`,children:_jsxs(_components.p,{children:[`Language of `,_jsx(_components.code,{children:`cancellationReason`}),` and `,_jsx(_components.code,{children:`group`}),` in the Fire catalog: `,_jsx(_components.code,{children:`es`}),`, `,_jsx(_components.code,{children:`en`}),`, or `,_jsx(_components.code,{children:`pt`}),`. If a text does not exist in that language, Spanish is used, then English, then Portuguese. The match is exact: `,_jsx(_components.code,{children:`pt-BR`}),` does not find `,_jsx(_components.code,{children:`pt`}),` and falls back to Spanish. It does not affect SAG reasons.`]})}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`http`,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:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`GET`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` https://app.fire.rest/api/v1/adapters/xmart/stores/orders/EXT-100234/cancellation-reasons?surface=pos\u0026locale=en`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`x-api-key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \u003cyour_api_key>`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`The response comes wrapped in the standard envelope: `,_jsx(_components.code,{children:`{ \"success\": true, \"data\": { ... } }`}),`.`]}),`\n`,_jsx(ResponseField,{name:`mode`,type:`string`,id:`param-mode`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`catalog`}),` or `,_jsx(_components.code,{children:`free_text`}),`. Tells you whether to show a list or a free-text field.`]})}),`\n`,_jsxs(ResponseField,{name:`reasons`,type:`array`,id:`param-reasons`,children:[_jsxs(_components.p,{children:[`The reasons. Empty when `,_jsx(_components.code,{children:`mode`}),` is `,_jsx(_components.code,{children:`free_text`}),`.`]}),_jsxs(Expandable,{title:`reasons[]`,children:[_jsx(ResponseField,{name:`cancellationType`,type:`string`,id:`param-cancellation-type`,children:_jsxs(_components.p,{children:[`Reason code. It is the value you send as `,_jsx(_components.code,{children:`cancellationType`}),` when cancelling.`]})}),_jsx(ResponseField,{name:`cancellationReason`,type:`string`,id:`param-cancellation-reason`,children:_jsxs(_components.p,{children:[`Text to display. In the Fire catalog it comes in the requested language. For SAG it is the description SAG returns, or `,_jsx(_components.code,{children:`\"\"`}),` if it has none.`]})}),_jsx(ResponseField,{name:`requiresNote`,type:`boolean`,id:`param-requires-note`,children:_jsxs(_components.p,{children:[`Fire catalog only. If `,_jsx(_components.code,{children:`true`}),`, ask the person for a mandatory note. Fire does not validate it when cancelling: your interface has to enforce it.`]})}),_jsx(ResponseField,{name:`group`,type:`string`,id:`param-group`,children:_jsxs(_components.p,{children:[`Reason group, to show the list grouped. In the Fire catalog it may be missing. For SAG it is always `,_jsx(_components.code,{children:`\"\u003cprovider> (\u003cchannel>)\"`}),`.`]})})]})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`200 — Fire catalog`,numberOfLines:`20`,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:`20`,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:` \"mode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"catalog\"`}),_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:` \"reasons\"`}),_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cancellationType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CUSTOMER_CHANGED_MIND\"`}),_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:` \"cancellationReason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Customer changed mind\"`}),_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:` \"requiresNote\"`}),_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:` \"group\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Customer\"`})]}),`\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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cancellationType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ITEM_OUT_OF_STOCK\"`}),_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:` \"cancellationReason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Item out of stock\"`}),_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:` \"requiresNote\"`}),_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:` \"group\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Inventory\"`})]}),`\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(_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:`200 — SAG catalog`,numberOfLines:`13`,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:`13`,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:` \"mode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"catalog\"`}),_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:` \"reasons\"`}),_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cancellationType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cSAG id>\"`}),_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:` \"cancellationReason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cSAG description>\"`}),_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:` \"group\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SAG (KEETA)\"`})]}),`\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(_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:`200 — no reasons`,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:`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:` \"mode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"free_text\"`}),_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:` \"reasons\"`}),_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(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`401 — invalid API key`,numberOfLines:`5`,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:`5`,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:`\"UNAUTHORIZED\"`}),_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:`\"Invalid or expired API key\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`403 — key without account`,numberOfLines:`5`,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:`5`,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:`\"FORBIDDEN\"`}),_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:`\"Vendor-scoped API key required (accountId binding missing)\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`404 — order not found`,numberOfLines:`5`,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:`5`,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:`\"NOT_FOUND\"`}),_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:`\"InjectedOrder not found with ID EXT-100234\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`409 — ambiguous id`,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:`\"AMBIGUOUS_ORDER_REFERENCE\"`}),_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:`\"External order id ORD-123 matches 2 orders across vendors; cannot disambiguate\"`}),_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:`\"reference\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ORD-123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"matchCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_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`]})})})]}),`\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:`Status`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`error`})}),_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:`BUSINESS_ERROR`})}),_jsx(_components.td,{children:`The key has no vendors bound to it.`})]}),_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:`The key is missing, has an invalid format, is revoked, or has expired.`})]}),_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:[`The key lacks the `,_jsx(_components.code,{children:`orders:read`}),` scope or is not scoped to an account.`]})]}),_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`})}),_jsxs(_components.td,{children:[`No order with that id exists within your key’s vendors. An order from another vendor also returns `,_jsx(_components.code,{children:`404`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CONFLICT`})}),_jsxs(_components.td,{children:[`The id matches more than one order (`,_jsx(_components.code,{children:`code: AMBIGUOUS_ORDER_REFERENCE`}),`). It can happen with `,_jsx(_components.code,{children:`order_code`}),`, which is not unique. Retry with the external id or the UUID.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Branch on the status, `,_jsx(_components.code,{children:`error`}),`, and `,_jsx(_components.code,{children:`code`}),`. The `,_jsx(_components.code,{children:`message`}),` text can change.`]}),`\n`,_jsx(Heading,{level:`2`,id:`using-it-when-cancelling`,children:`Using it when cancelling`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Get the reasons`,children:_jsx(_components.p,{children:`Call this endpoint with the order you are about to cancel.`})}),_jsx(Step,{title:`Show the list or the free-text field`,children:_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`mode: \"catalog\"`}),`, show the reasons (grouped by `,_jsx(_components.code,{children:`group`}),`, if you want). If the chosen reason has `,_jsx(_components.code,{children:`requiresNote: true`}),`, ask for the note. With `,_jsx(_components.code,{children:`mode: \"free_text\"`}),`, ask for free text.`]})}),_jsxs(Step,{title:`Cancel`,children:[_jsxs(_components.p,{children:[`Call `,_jsx(_components.a,{href:`/en/api-reference/cancel-order-partners`,children:`Cancel order (partners)`}),` with:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`reason`}),`: the chosen reason’s `,_jsx(_components.code,{children:`cancellationReason`}),`, or the free text.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cancellationType`}),`: the chosen reason’s `,_jsx(_components.code,{children:`cancellationType`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cancellationNote`}),`: the note, if there is one.`]}),`\n`]}),_jsxs(_components.p,{children:[`You do not need to send `,_jsx(_components.code,{children:`cancellationGroup`}),`.`]})]})]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`reason`}),` requires `,_jsx(_components.strong,{children:`at least 5 characters`}),`. If a reason’s label is shorter, send a longer text in `,_jsx(_components.code,{children:`reason`}),`.`]}),_jsxs(_components.p,{children:[`Fire does not check that `,_jsx(_components.code,{children:`cancellationType`}),` exists in the catalog either. If you send a code that did not come from this endpoint, the cancellation does not fail, but the reason is stored without a group. On SAG channels, the code must come from the SAG catalog.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Cancel order (partners)`,icon:`ban`,href:`/en/api-reference/cancel-order-partners`,children:_jsx(_components.p,{children:`Cancel the order with the chosen reason.`})}),_jsx(Card,{title:`Cancellation eligibility`,icon:`circle-question`,href:`/en/api-reference/cancellation-eligibility`,children:_jsx(_components.p,{children:`Ask whether the order can be cancelled before trying.`})})]})]})}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":"Cancellation reasons","api":"GET https://app.fire.rest/api/v1/adapters/xmart/stores/orders/{orderId}/cancellation-reasons","description":"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.","authMethod":"bearer","href":"/en/api-reference/cancellation-reasons"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Where the reasons come from","slug":"where-the-reasons-come-from","depth":2,"children":[]},{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Path parameters","slug":"path-parameters","depth":2,"children":[]},{"title":"Query parameters","slug":"query-parameters","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]},{"title":"Using it when cancelling","slug":"using-it-when-cancelling","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"","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=\"http\">\u003ccode language=\"http\" numberOfLines=\"2\">\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">GET\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> https://app.fire.rest/api/v1/adapters/xmart/stores/orders/EXT-100234/cancellation-reasons?surface=pos\u0026#x26;locale=en\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#569CD6\">x-api-key\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \u0026#x3C;your_api_key>\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"200 — Fire catalog","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=\"20\">\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\"> \"mode\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"catalog\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"reasons\"\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\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"cancellationType\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"CUSTOMER_CHANGED_MIND\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"cancellationReason\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Customer changed mind\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"requiresNote\"\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\"> \"group\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Customer\"\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\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"cancellationType\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"ITEM_OUT_OF_STOCK\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"cancellationReason\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Item out of stock\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"requiresNote\"\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\"> \"group\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Inventory\"\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\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":"200 — SAG catalog","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=\"13\">\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\"> \"mode\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"catalog\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"reasons\"\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\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"cancellationType\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;SAG id>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"cancellationReason\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;SAG description>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"group\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"SAG (KEETA)\"\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\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":"200 — no reasons","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\">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\"> \"mode\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"free_text\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"reasons\"\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\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"401 — invalid API key","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=\"5\">\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\">\"UNAUTHORIZED\"\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\">\"Invalid or expired API key\"\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":"403 — key without account","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=\"5\">\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\">\"FORBIDDEN\"\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\">\"Vendor-scoped API key required (accountId binding missing)\"\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":"404 — order not found","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=\"5\">\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\">\"NOT_FOUND\"\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\">\"InjectedOrder not found with ID EXT-100234\"\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 — ambiguous id","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\">\"AMBIGUOUS_ORDER_REFERENCE\"\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\">\"External order id ORD-123 matches 2 orders across vendors; cannot disambiguate\"\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\">\"reference\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"ORD-123\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"matchCount\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">2\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":"Cancellation reasons","path":"/api/v1/adapters/xmart/stores/orders/{orderId}/cancellation-reasons","servers":[{"url":"https://app.fire.rest"}],"method":"get","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":{"surface":{"schema":[{"type":"string","description":"Who will show the reasons. Each reason in the Fire catalog is enabled for one or more surfaces. Today there are `pos` , `kds` , and `backoffice` , and all three are meant for store or operations staff, not for the end customer. An unknown value is not an error: it returns `free_text` . `free_text` is a `mode` value, not a surface."}]},"locale":{"schema":[{"type":"string","description":"Language of `cancellationReason` and `group` in the Fire catalog: `es` , `en` , or `pt` . If a text does not exist in that language, Spanish is used, then English, then Portuguese. The match is exact: `pt-BR` does not find `pt` and falls back to Spanish. It does not affect SAG reasons."}]}},"header":{"x-api-key":{"schema":[{"type":"string","description":"Your Fire API key with the `orders:read` scope. The key must be scoped to a vendor : a key without an account is rejected with `403` . It is also accepted as `Authorization: Bearer \u003capi-key>` ; if you send both headers, `x-api-key` is used.","required":true}]}},"cookie":{},"path":{"orderId":{"schema":[{"type":"string","description":"Order identifier: external id, payload `order_id` , Fire `order_code` , or internal Fire UUID.","required":true}]}}},"body":{}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"mode":[{"type":"string","description":"`catalog` or `free_text` . Tells you whether to show a list or a free-text field."}],"reasons":[{"type":"array","items":[{"type":"object","properties":{"cancellationType":[{"type":"string","description":"Reason code. It is the value you send as `cancellationType` when cancelling."}],"cancellationReason":[{"type":"string","description":"Text to display. In the Fire catalog it comes in the requested language. For SAG it is the description SAG returns, or `\"\"` if it has none."}],"requiresNote":[{"type":"boolean","description":"Fire catalog only. If `true` , ask the person for a mandatory note. Fire does not validate it when cancelling: your interface has to enforce it."}],"group":[{"type":"string","description":"Reason group, to show the list grouped. In the Fire catalog it may be missing. For SAG it is always `\"\u003cprovider> (\u003cchannel>)\"` ."}]}}],"description":"The reasons. Empty when `mode` is `free_text` ."}]}}],"examples":{"example":{"value":{"mode":"\u003cstring>","reasons":[{"cancellationType":"\u003cstring>","cancellationReason":"\u003cstring>","requiresNote":true,"group":"\u003cstring>"}]}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"firepos","siteName":"Fire Docs","title":"Cancellation reasons - Fire Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/en/api-reference/cancellation-reasons","matchLevel":0},"es":{"href":"/es/api-reference/cancellation-reasons","matchLevel":1},"pt":{"href":"/pt/api-reference/cancellation-reasons","matchLevel":1}}},"lastModified":"2026-10-28T14:45:58.969Z","originalFileLocation":"en/api-reference/cancellation-reasons.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=\"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.\">\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=\"Cancellation reasons - Fire Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.\">\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/cancellation-reasons\">\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=Partner+APIs\u0026amp;title=Cancellation+reasons\u0026amp;description=Lists+the+reasons+you+can+offer+when+cancelling+an+order.+Returns+a+list+to+choose+from%2C+or+tells+you+to+ask+for+free+text.\u0026amp;theme=e7d88b15424b8f4efffd3b0b\u0026amp;signature=41efa82e2ace431753d3329a4edf6af93dd9a3ec4aa6e7f94a59fe538baf4475\">\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=\"Cancellation reasons - Fire Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://firepos.mintlify.app/_mintlify/api/og/v2?division=Partner+APIs\u0026amp;title=Cancellation+reasons\u0026amp;description=Lists+the+reasons+you+can+offer+when+cancelling+an+order.+Returns+a+list+to+choose+from%2C+or+tells+you+to+ask+for+free+text.\u0026amp;theme=e7d88b15424b8f4efffd3b0b\u0026amp;signature=41efa82e2ace431753d3329a4edf6af93dd9a3ec4aa6e7f94a59fe538baf4475\">\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/cancellation-reasons\">\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/cancellation-reasons.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.fire.rest/en/api-reference/cancellation-reasons\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.fire.rest/es/api-reference/cancellation-reasons\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.fire.rest/pt/api-reference/cancellation-reasons\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.fire.rest/en/api-reference/cancellation-reasons\">\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/cancellation-reasons#webpage\",\"url\":\"https://docs.fire.rest/en/api-reference/cancellation-reasons\",\"name\":\"Cancellation reasons\",\"description\":\"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.\",\"dateModified\":\"2026-10-28T14:45:58.969Z\",\"isPartOf\":{\"@id\":\"https://docs.fire.rest#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fire.rest/en/api-reference/cancellation-reasons#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fire.rest/en/api-reference/cancellation-reasons#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Partner APIs\",\"item\":\"https://docs.fire.rest/en/api-reference/cancel-order-partners\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cancellation reasons\",\"item\":\"https://docs.fire.rest/en/api-reference/cancellation-reasons\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fire.rest/en/api-reference/cancellation-reasons#apireference\",\"headline\":\"Cancellation reasons\",\"name\":\"Cancellation reasons\",\"description\":\"Lists the reasons you can offer when cancelling an order. Returns a list to choose from, or tells you to ask for free text.\",\"url\":\"https://docs.fire.rest/en/api-reference/cancellation-reasons\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fire.rest/en/api-reference/cancellation-reasons#webpage\"},\"dateModified\":\"2026-10-28T14:45:58.969Z\",\"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":"Get a fiscal request","api":"GET /api/v1/external/fiscal/numbering/{fiscalRequestId}","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","description":"Ask whether an order can be cancelled — without cancelling it. The preflight for the cancellation button.","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","description":"Gets the fiscal identifiers the point of sale needs to print the receipt. It is synchronous: you call it after charging and before injecting the order.","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/cancellation-reasons"}]},{"language":"pt","footer":{"socials":{"x":"https://x.com/fire","github":"https://github.com/fire"}},"pages":[{"title":"pt","href":"/pt/api-reference/cancellation-reasons"}]}]},"title":"Cancellation reasons - Fire Docs","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js"]}