Approving a draft locks it, ready to send. When the order total is at or above the organization’s
approval threshold, the approver also needs purchasing.orders.approve and cannot be the person who
raised it.
Needs the purchasing.orders.manage permission and a token with purchasing:write.
For your own scripts and server-to-server integrations. Create a key in the app under Settings > Access > API keys and copy it then, because it is shown once. Send it as Authorization: Bearer <key>. The key acts as the member who made it, in the organization it was made in. A call needs the member's permission and one of the key's scopes, such as inventory:read or sales:write. A key with * has every scope.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"StockShift Developers","description":"Build on StockShift: the REST API, webhooks, the MCP server and SDKs for TypeScript, PHP, Laravel, Python, Go, Rust and .NET.","colors":{"primary":"#c4400e","light":"#ff7a4f","dark":"#a8370c"},"logo":{"light":"https://mintcdn.com/stock-shift/veECiA638KjVgilP/logo/light.svg?fit=max\u0026auto=format\u0026n=veECiA638KjVgilP\u0026q=85\u0026s=c33bd50768974f62f8e61a994cd1d200","dark":"https://mintcdn.com/stock-shift/veECiA638KjVgilP/logo/dark.svg?fit=max\u0026auto=format\u0026n=veECiA638KjVgilP\u0026q=85\u0026s=74bfe4a79e2daaa03bea6fe5da4e3a83","href":"https://stockshift.io"},"favicon":"https://mintcdn.com/stock-shift/veECiA638KjVgilP/favicon.svg?fit=max\u0026auto=format\u0026n=veECiA638KjVgilP\u0026q=85\u0026s=e0bd7c6d3000160e67c8476f7122e320","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","php","go"]}},"background":{"color":{"light":"#ffffff","dark":"#16191d"}},"navbar":{"links":[{"href":"https://knowledge.stockshift.io","label":"Help center"}],"primary":{"type":"button","label":"Open StockShift","href":"https://app.stockshift.io"}},"footer":{"links":[{"header":"StockShift","items":[{"label":"Website","href":"https://stockshift.io"},{"label":"Help center","href":"https://knowledge.stockshift.io"},{"label":"Sign in","href":"https://app.stockshift.io"}]}]},"seo":{"metatags":{"og:site_name":"StockShift Developers"}},"fonts":{"family":"Strawford","weight":400,"source":"fonts/strawford-regular-webfont.woff2","format":"woff2"},"icons":{"library":"lucide"},"errors":{"404":{"redirect":false,"title":"Page not found","description":"That page moved or never existed. Try the [quickstart](/quickstart) or the [API reference](/api-reference/introduction)."}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode","download-spec"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stock-shift","hasAudioNarration":false,"actualSubdomain":"stock-shift","customDomains":["docs.stockshift.io"],"gitSource":{"type":"github","owner":"stockshift","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6af3b63ef75528b5276fce1d"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3bc9e5724faa55179e800","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API reference","count":724},{"language":"default","tag":"Inventory","count":85},{"language":"default","tag":"Integrations","count":83},{"language":"default","tag":"Sales","count":79},{"language":"default","tag":"Connections","count":61},{"language":"default","tag":"Manufacturing","count":53},{"language":"default","tag":"Access","count":51},{"language":"default","tag":"Webhook events","count":46},{"language":"default","tag":"Catalog","count":46},{"language":"default","tag":"Purchasing","count":43}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"Strawford\";src:url(\"/fonts/strawford-bold-webfont.woff2\") format(\"woff2\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:\"Geist Mono\";src:url(\"/fonts/GeistMono-Regular.woff2\") format(\"woff2\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:\"Geist Mono\";src:url(\"/fonts/GeistMono-Medium.woff2\") format(\"woff2\");font-weight:500;font-style:normal;font-display:swap}code,pre,kbd{font-family:\"Geist Mono\", ui-monospace, monospace!important}:root:not(.dark) #content-area{color:#263238}#page-title{letter-spacing:-0.01em}"}],"page":{"pagePath":"api-reference/purchase-orders/approve-a-purchase-order","slug":"/api-reference/purchase-orders/approve-a-purchase-order","pageMetadata":{"title":"Approve a purchase order","description":"Approving a draft locks it, ready to send. When the order total is at or above the organization's\napproval threshold, the approver also needs `purchasing.orders.approve` and cannot be the person who\nraised it.\n\nNeeds the `purchasing.orders.manage` permission and a token with `purchasing:write`.","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/approve","href":"/api-reference/purchase-orders/approve-a-purchase-order","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Approving a draft locks it, ready to send. When the order total is at or above the organization’s\\napproval threshold, the approver also needs \", _jsx(_components.code, {\n children: \"purchasing.orders.approve\"\n }), \" and cannot be the person who\\nraised it.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Needs the \", _jsx(_components.code, {\n children: \"purchasing.orders.manage\"\n }), \" permission and a token with \", _jsx(_components.code, {\n children: \"purchasing:write\"\n }), \".\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Approve a purchase order","description":"Approving a draft locks it, ready to send. When the order total is at or above the organization's\napproval threshold, the approver also needs `purchasing.orders.approve` and cannot be the person who\nraised it.\n\nNeeds the `purchasing.orders.manage` permission and a token with `purchasing:write`.","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/approve","href":"/api-reference/purchase-orders/approve-a-purchase-order","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"v1.purchasing.orders.approve","description":"Approving a draft locks it, ready to send. When the order total is at or above the organization's\napproval threshold, the approver also needs `purchasing.orders.approve` and cannot be the person who\nraised it.\n\nNeeds the `purchasing.orders.manage` permission and a token with `purchasing:write`.","summary":"Approve a purchase order","tags":["Purchase orders"],"parameters":["94f0017b-5ff3-4613-8c6a-2c76973c8c1d"],"responses":{"200":"c700014e-40d5-4219-ac16-e4bb5bdffb99","401":"478763ad-163b-43d5-9b20-f380d312b998","403":"5f2daa0e-4aee-48d3-92a7-e9e7356a4b0b","404":"1eb120a6-4f64-4827-aa16-90f9e6124d0a","422":"3cdcb72b-c218-4a15-9887-e1f727a394ae","429":"4d516692-4d6e-450e-92d0-a2c916e642e3"},"x-codeSamples":[{"lang":"typescript","label":"TypeScript SDK","source":"import { StockShift } from \"@stockshift/sdk\";\n\nconst stockshift = new StockShift({ token: process.env.STOCKSHIFT_TOKEN! });\n\nconst result = await stockshift.post(\"/purchasing/orders/{order}/approve\", {\n path: { order: \"01J8QZ4M...\" },\n});"}],"method":"post","type":"path","servers":["bfd01625-2d80-4d4f-99e5-4efe33627891","90baad8e-81f9-4807-a3b9-52972135f94d"],"security":["0727a169-59ad-484d-b53a-cce936590283","e426132a-8b21-4e85-b05d-699fa85456da"],"path":"/purchasing/orders/{order}/approve","baseUrlOptions":["https://app.stockshift.io/api/v1","https://app.beta.stockshift.io/api/v1"],"title":"Approve a purchase order","codeSamples":[{"label":"TypeScript SDK","lang":"typescript","source":"import { StockShift } from \"@stockshift/sdk\";\n\nconst stockshift = new StockShift({ token: process.env.STOCKSHIFT_TOKEN! });\n\nconst result = await stockshift.post(\"/purchasing/orders/{order}/approve\", {\n path: { order: \"01J8QZ4M...\" },\n});"}],"requestExampleLanguages":["bash","python","php","go"],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"94f0017b-5ff3-4613-8c6a-2c76973c8c1d":{"name":"order","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"responses":{"c700014e-40d5-4219-ac16-e4bb5bdffb99":{"description":"`PurchaseOrderResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"data.id","typeLabel":"string"},"number":{"type":"string","description":"From the organization's sequence, such as PO-00001.","isRequired":true,"uniqueKey":"data.number","typeLabel":"string"},"supplier_id":{"type":"string","isRequired":true,"uniqueKey":"data.supplier_id","typeLabel":"string"},"supplier_code":{"type":"string","isRequired":true,"uniqueKey":"data.supplier_code","typeLabel":"string"},"supplier_name":{"type":"string","isRequired":true,"uniqueKey":"data.supplier_name","typeLabel":"string"},"location_id":{"type":"string","description":"The stock location it is delivered to.","isRequired":true,"uniqueKey":"data.location_id","typeLabel":"string"},"location_code":{"type":"string","isRequired":true,"uniqueKey":"data.location_code","typeLabel":"string"},"status":{"type":"string","description":"draft, approved, sent, partially_received, received, closed or cancelled.","isRequired":true,"uniqueKey":"data.status","typeLabel":"string"},"expected_on":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.expected_on.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.expected_on.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.expected_on","typeLabel":"string | null"},"note":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.note.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.note.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.note","typeLabel":"string | null"},"total":{"type":"string","isRequired":true,"uniqueKey":"data.total","typeLabel":"string"},"currency":{"type":"string","description":"The ISO 4217 code every amount is in.","isRequired":true,"uniqueKey":"data.currency","typeLabel":"string"},"needs_second_approver":{"type":"boolean","description":"Whether approving this draft needs someone other than who raised it.","isRequired":true,"uniqueKey":"data.needs_second_approver","typeLabel":"boolean"},"approved_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.approved_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.approved_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.approved_at","typeLabel":"string | null"},"closed_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.closed_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.closed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.closed_at","typeLabel":"string | null"},"sent_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.sent_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.sent_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.sent_at","typeLabel":"string | null"},"sent_to":{"oneOf":[{"type":"string","description":"The supplier contact it was last sent to, by name or else email.","isRequired":true,"uniqueKey":"data.sent_to.oneOf.0","typeLabel":"string"},{"type":"null","description":"The supplier contact it was last sent to, by name or else email.","isRequired":true,"uniqueKey":"data.sent_to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.sent_to","typeLabel":"string | null"},"approval_requested_at":{"oneOf":[{"type":"string","description":"When approval was asked for, while the draft waits for the answer.","isRequired":true,"uniqueKey":"data.approval_requested_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"When approval was asked for, while the draft waits for the answer.","isRequired":true,"uniqueKey":"data.approval_requested_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.approval_requested_at","typeLabel":"string | null"},"rejection_reason":{"oneOf":[{"type":"string","description":"Why an approver sent the draft back, until approval is asked for again.","isRequired":true,"uniqueKey":"data.rejection_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why an approver sent the draft back, until approval is asked for again.","isRequired":true,"uniqueKey":"data.rejection_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.rejection_reason","typeLabel":"string | null"},"created_at":{"type":"string","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string"},"lines":{"type":"array","description":"Empty in lists.","items":{"oneOf":[{}],"uniqueKey":"data.lines.items.[INDEX]","typeLabel":"any"},"isRequired":true,"uniqueKey":"data.lines","typeLabel":"any[]"}},"required":["id","number","supplier_id","supplier_code","supplier_name","location_id","location_code","status","expected_on","note","total","currency","needs_second_approver","approved_at","closed_at","sent_at","sent_to","approval_requested_at","rejection_reason","created_at","lines"],"title":"PurchaseOrderResource","isRequired":true,"uniqueKey":"data","typeLabel":"PurchaseOrderResource · object"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":"\u003cstring>","number":"\u003cstring>","supplier_id":"\u003cstring>","supplier_code":"\u003cstring>","supplier_name":"\u003cstring>","location_id":"\u003cstring>","location_code":"\u003cstring>","status":"\u003cstring>","expected_on":"\u003cstring>","note":"\u003cstring>","total":"\u003cstring>","currency":"\u003cstring>","needs_second_approver":true,"approved_at":"\u003cstring>","closed_at":"\u003cstring>","sent_at":"\u003cstring>","sent_to":"\u003cstring>","approval_requested_at":"\u003cstring>","rejection_reason":"\u003cstring>","created_at":"\u003cstring>","lines":["\u003cunknown>"]}}}},"exampleType":"generated"}},"headers":{"X-RateLimit-Limit":{"description":"Requests a minute allowed for this token, or for the address without one.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left this minute.","schema":{"type":"integer"}}},"exampleType":"generated"},"478763ad-163b-43d5-9b20-f380d312b998":{"description":"Unauthenticated","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri","description":"Links to the documentation for this code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"The HTTP status text.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"A stable machine readable name, such as validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, for people.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Errors by field. On validation_failed, and on a refusal with a code of its own such as insufficient_stock or document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"The plan feature needed. Only on plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Why a device must download a feed again. Only on resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"How many refused signatures are left before the member is locked on the device. Only on signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"The witnessing rules that cover the stock. Only on verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Where the witness signs: same_device, remote or either. Only on verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Whether the witness recounts before seeing the quantity. Only on verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"The flags a bulk line's decisions leave open, as the bulk preview names them. Only on decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"The facts of the flag, as in the bulk preview; the others are null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"5f2daa0e-4aee-48d3-92a7-e9e7356a4b0b":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri","description":"Links to the documentation for this code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"The HTTP status text.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"A stable machine readable name, such as validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, for people.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Errors by field. On validation_failed, and on a refusal with a code of its own such as insufficient_stock or document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"The plan feature needed. Only on plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Why a device must download a feed again. Only on resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"How many refused signatures are left before the member is locked on the device. Only on signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"The witnessing rules that cover the stock. Only on verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Where the witness signs: same_device, remote or either. Only on verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Whether the witness recounts before seeing the quantity. Only on verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"The flags a bulk line's decisions leave open, as the bulk preview names them. Only on decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"The facts of the flag, as in the bulk preview; the others are null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"1eb120a6-4f64-4827-aa16-90f9e6124d0a":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri","description":"Links to the documentation for this code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"The HTTP status text.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"A stable machine readable name, such as validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, for people.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Errors by field. On validation_failed, and on a refusal with a code of its own such as insufficient_stock or document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"The plan feature needed. Only on plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Why a device must download a feed again. Only on resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"How many refused signatures are left before the member is locked on the device. Only on signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"The witnessing rules that cover the stock. Only on verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Where the witness signs: same_device, remote or either. Only on verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Whether the witness recounts before seeing the quantity. Only on verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"The flags a bulk line's decisions leave open, as the bulk preview names them. Only on decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"The facts of the flag, as in the bulk preview; the others are null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"3cdcb72b-c218-4a15-9887-e1f727a394ae":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri","description":"Links to the documentation for this code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"The HTTP status text.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"A stable machine readable name, such as validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, for people.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Errors by field. On validation_failed, and on a refusal with a code of its own such as insufficient_stock or document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"The plan feature needed. Only on plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Why a device must download a feed again. Only on resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"How many refused signatures are left before the member is locked on the device. Only on signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"The witnessing rules that cover the stock. Only on verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Where the witness signs: same_device, remote or either. Only on verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Whether the witness recounts before seeing the quantity. Only on verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"The flags a bulk line's decisions leave open, as the bulk preview names them. Only on decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"The facts of the flag, as in the bulk preview; the others are null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"4d516692-4d6e-450e-92d0-a2c916e642e3":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","format":"uri","description":"Links to the documentation for this code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"The HTTP status text.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"A stable machine readable name, such as validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, for people.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Errors by field. On validation_failed, and on a refusal with a code of its own such as insufficient_stock or document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"The plan feature needed. Only on plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Why a device must download a feed again. Only on resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"How many refused signatures are left before the member is locked on the device. Only on signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"The witnessing rules that cover the stock. Only on verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Where the witness signs: same_device, remote or either. Only on verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Whether the witness recounts before seeing the quantity. Only on verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"The flags a bulk line's decisions leave open, as the bulk preview names them. Only on decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"The facts of the flag, as in the bulk preview; the others are null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"headers":{"Retry-After":{"description":"Seconds until the limit resets.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Requests a minute allowed.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left this minute: none.","schema":{"type":"integer"}}},"exampleType":"generated"}},"security":{"0727a169-59ad-484d-b53a-cce936590283":{"apiKey":{"type":"http","description":"For your own scripts and server-to-server integrations. Create a key in the app under Settings > Access > API keys and copy it then, because it is shown once. Send it as `Authorization: Bearer \u003ckey>`. The key acts as the member who made it, in the organization it was made in. A call needs the member's permission and one of the key's scopes, such as `inventory:read` or `sales:write`. A key with `*` has every scope.","scheme":"bearer","scopes":[],"schemeName":"apiKey"}},"e426132a-8b21-4e85-b05d-699fa85456da":{"oauth2":{"type":"oauth2","description":"For apps that other people connect to their StockShift account. Use the OAuth 2.1 authorization code flow with PKCE (S256); there is no client secret. Discover the endpoints at `/.well-known/oauth-authorization-server` (RFC 8414) and register your app at `POST /oauth/register` (RFC 7591). The member chooses the organization and approves the scopes on the consent page, and the token can never do more than the member could. Send it as `Authorization: Bearer \u003ctoken>`, as you would an API key. Access tokens last an hour; each refresh returns a new refresh token, so store it.","flows":{"authorizationCode":{"authorizationUrl":"https://app.stockshift.io/oauth/authorize","tokenUrl":"https://app.stockshift.io/oauth/token","refreshUrl":"https://app.stockshift.io/oauth/token","scopes":{"access:read":"Access read","audit:read":"Audit read","address:read":"Address read","address:write":"Address write","billing:read":"Billing read","catalog:read":"Catalog read","catalog:write":"Catalog write","dashboard:read":"Dashboard read","dashboard:write":"Dashboard write","developer:read":"Developer read","developer:write":"Developer write","devices:read":"Devices read","devices:write":"Devices write","documents:read":"Documents read","documents:write":"Documents write","notifications:read":"Notifications read","notifications:write":"Notifications write","inventory:read":"Inventory read","inventory:write":"Inventory write","purchasing:read":"Purchasing read","purchasing:write":"Purchasing write","quality:read":"Quality read","quality:write":"Quality write","sales:read":"Sales read","sales:write":"Sales write","engineering:read":"Engineering read","engineering:write":"Engineering write","manufacturing:read":"Manufacturing read","manufacturing:write":"Manufacturing write","automation:read":"Automation read","automation:write":"Automation write","insights:read":"Insights read","insights:write":"Insights write","integrations:read":"Integrations read","integrations:write":"Integrations write","labels:read":"Labels read","labels:write":"Labels write","library:read":"Library read","organization:read":"Organization read","organization:write":"Organization write","planning:read":"Planning read","planning:write":"Planning write","sync:read":"Sync read","sync:write":"Sync write"}}},"scopes":[],"schemeName":"oauth2"}}},"servers":{"bfd01625-2d80-4d4f-99e5-4efe33627891":{"url":"https://app.stockshift.io/api/v1","description":"Production"},"90baad8e-81f9-4807-a3b9-52972135f94d":{"url":"https://app.beta.stockshift.io/api/v1","description":"Beta"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","description":"For your own scripts and server-to-server integrations. Create a key in the app under Settings > Access > API keys and copy it then, because it is shown once. Send it as `Authorization: Bearer \u003ckey>`. The key acts as the member who made it, in the organization it was made in. A call needs the member's permission and one of the key's scopes, such as `inventory:read` or `sales:write`. A key with `*` has every scope.","scheme":"bearer","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"For your own scripts and server-to-server integrations. Create a key in the app under Settings > Access > API keys and copy it then, because it is shown once. Send it as `Authorization: Bearer \u003ckey>`. The key acts as the member who made it, in the organization it was made in. A call needs the member's permission and one of the key's scopes, such as `inventory:read` or `sales:write`. A key with `*` has every scope.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"},{"schemes":[{"scheme":{"type":"oauth2","description":"For apps that other people connect to their StockShift account. Use the OAuth 2.1 authorization code flow with PKCE (S256); there is no client secret. Discover the endpoints at `/.well-known/oauth-authorization-server` (RFC 8414) and register your app at `POST /oauth/register` (RFC 7591). The member chooses the organization and approves the scopes on the consent page, and the token can never do more than the member could. Send it as `Authorization: Bearer \u003ctoken>`, as you would an API key. Access tokens last an hour; each refresh returns a new refresh token, so store it.","flows":{"authorizationCode":{"authorizationUrl":"https://app.stockshift.io/oauth/authorize","tokenUrl":"https://app.stockshift.io/oauth/token","refreshUrl":"https://app.stockshift.io/oauth/token","scopes":{"access:read":"Access read","audit:read":"Audit read","address:read":"Address read","address:write":"Address write","billing:read":"Billing read","catalog:read":"Catalog read","catalog:write":"Catalog write","dashboard:read":"Dashboard read","dashboard:write":"Dashboard write","developer:read":"Developer read","developer:write":"Developer write","devices:read":"Devices read","devices:write":"Devices write","documents:read":"Documents read","documents:write":"Documents write","notifications:read":"Notifications read","notifications:write":"Notifications write","inventory:read":"Inventory read","inventory:write":"Inventory write","purchasing:read":"Purchasing read","purchasing:write":"Purchasing write","quality:read":"Quality read","quality:write":"Quality write","sales:read":"Sales read","sales:write":"Sales write","engineering:read":"Engineering read","engineering:write":"Engineering write","manufacturing:read":"Manufacturing read","manufacturing:write":"Manufacturing write","automation:read":"Automation read","automation:write":"Automation write","insights:read":"Insights read","insights:write":"Insights write","integrations:read":"Integrations read","integrations:write":"Integrations write","labels:read":"Labels read","labels:write":"Labels write","library:read":"Library read","organization:read":"Organization read","organization:write":"Organization write","planning:read":"Planning read","planning:write":"Planning write","sync:read":"Sync read","sync:write":"Sync write"}}},"scopes":[],"schemeName":"oauth2"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"For apps that other people connect to their StockShift account. Use the OAuth 2.1 authorization code flow with PKCE (S256); there is no client secret. Discover the endpoints at `/.well-known/oauth-authorization-server` (RFC 8414) and register your app at `POST /oauth/register` (RFC 7591). The member chooses the organization and approves the scopes on the consent page, and the token can never do more than the member could. Send it as `Authorization: Bearer \u003ctoken>`, as you would an API key. Access tokens last an hour; each refresh returns a new refresh token, so store it.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"oauth2","name":"Authorization"}],"title":"oauth2"}]},"originalFileLocation":"openapi.json"},"subdomain":"stock-shift","siteName":"StockShift Developers","title":"Approve a purchase order - StockShift Developers","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T00:47:36.744Z","originalFileLocation":"api-reference/purchase-orders/approve-a-purchase-order.mdx"},"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=\"Approving a draft locks it, ready to send. When the order total is at or above the organization\u0026#x27;s approval threshold, the approver also needs purchasing.orders.approve and cannot be the person who raised it. Needs the purchasing.orders.manage permission and a token with purchasing:write.\">\u003cmeta data-mint-head name=\"application-name\" content=\"StockShift Developers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_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/stock-shift/8prymB6WP5nWwl8n/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_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/stock-shift/8prymB6WP5nWwl8n/_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/stock-shift/8prymB6WP5nWwl8n/_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/stock-shift/8prymB6WP5nWwl8n/_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/stock-shift/8prymB6WP5nWwl8n/_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/stock-shift/8prymB6WP5nWwl8n/_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/stock-shift/8prymB6WP5nWwl8n/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Approve a purchase order - StockShift Developers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Approving a draft locks it, ready to send. When the order total is at or above the organization\u0026#x27;s approval threshold, the approver also needs purchasing.orders.approve and cannot be the person who raised it. Needs the purchasing.orders.manage permission and a token with purchasing:write.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"StockShift Developers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stock-shift.mintlify.site/_mintlify/api/og/v2?division=Purchase+orders\u0026amp;title=Approve+a+purchase+order\u0026amp;description=Approving+a+draft+locks+it%2C+ready+to+send.+When+the+order+total+is+at+or+above+the+organization%27s%0Aapproval+threshold%2C+the+approver+also+needs+%60purchasing.orders\u0026amp;theme=14e6ddc52e6b5f7c7f3a5e98\u0026amp;signature=9ec5bb066eef52511b539b424964e6aa107976bb8516914ae8a02f74e8c4e5e7\">\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=\"Approve a purchase order - StockShift Developers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Approving a draft locks it, ready to send. When the order total is at or above the organization\u0026#x27;s approval threshold, the approver also needs purchasing.orders.approve and cannot be the person who raised it. Needs the purchasing.orders.manage permission and a token with purchasing:write.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stock-shift.mintlify.site/_mintlify/api/og/v2?division=Purchase+orders\u0026amp;title=Approve+a+purchase+order\u0026amp;description=Approving+a+draft+locks+it%2C+ready+to+send.+When+the+order+total+is+at+or+above+the+organization%27s%0Aapproval+threshold%2C+the+approver+also+needs+%60purchasing.orders\u0026amp;theme=14e6ddc52e6b5f7c7f3a5e98\u0026amp;signature=9ec5bb066eef52511b539b424964e6aa107976bb8516914ae8a02f74e8c4e5e7\">\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/stock-shift/8prymB6WP5nWwl8n/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"StockShift Developers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#c4400e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/purchase-orders/approve-a-purchase-order.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stockshift.io/#organization\",\"name\":\"StockShift Developers\",\"url\":\"https://docs.stockshift.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/stock-shift/veECiA638KjVgilP/logo/light.svg?fit=max\u0026auto=format\u0026n=veECiA638KjVgilP\u0026q=85\u0026s=c33bd50768974f62f8e61a994cd1d200\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stockshift.io#website\",\"name\":\"StockShift Developers\",\"url\":\"https://docs.stockshift.io\",\"publisher\":{\"@id\":\"https://docs.stockshift.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order#webpage\",\"url\":\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order\",\"name\":\"Approve a purchase order\",\"description\":\"Approving a draft locks it, ready to send. When the order total is at or above the organization's approval threshold, the approver also needs purchasing.orders.approve and cannot be the person who raised it. Needs the purchasing.orders.manage permission and a token with purchasing:write.\",\"dateModified\":\"2026-11-11T00:47:36.744Z\",\"isPartOf\":{\"@id\":\"https://docs.stockshift.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Purchasing\",\"item\":\"https://docs.stockshift.io/api-reference/suppliers/list-suppliers-by-code-active-or-archived-optionally-matching-a-query\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Purchase orders\",\"item\":\"https://docs.stockshift.io/api-reference/purchase-orders/list-purchase-orders\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Approve a purchase order\",\"item\":\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order#apireference\",\"headline\":\"Approve a purchase order\",\"name\":\"Approve a purchase order\",\"description\":\"Approving a draft locks it, ready to send. When the order total is at or above the organization's approval threshold, the approver also needs purchasing.orders.approve and cannot be the person who raised it. Needs the purchasing.orders.manage permission and a token with purchasing:write.\",\"url\":\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stockshift.io/api-reference/purchase-orders/approve-a-purchase-order#webpage\"},\"dateModified\":\"2026-11-11T00:47:36.744Z\",\"publisher\":{\"@id\":\"https://docs.stockshift.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stockshift.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"StockShift Developers\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"StockShift Developers\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/purchase-orders/approve-a-purchase-order.md","siteName":"StockShift Developers","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","sidebarTitle":"Introduction","icon":"book-open","href":"/api-reference/introduction"}]},{"group":"Inventory","pages":[{"group":"Witnessed stock actions","pages":[{"title":"Ask for a witness","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verifications","href":"/api-reference/witnessed-stock-actions/ask-for-a-witness"},{"title":"Show a verification","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/verifications/{verification}","href":"/api-reference/witnessed-stock-actions/show-a-verification"},{"title":"Cancel a verification","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verifications/{verification}/cancel","href":"/api-reference/witnessed-stock-actions/cancel-a-verification"},{"title":"Enter your recount","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verifications/{verification}/counts","href":"/api-reference/witnessed-stock-actions/enter-your-recount"},{"title":"Decline to witness","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verifications/{verification}/decline","href":"/api-reference/witnessed-stock-actions/decline-to-witness"},{"title":"Ask a witness","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verifications/{verification}/notify","href":"/api-reference/witnessed-stock-actions/ask-a-witness"},{"title":"Reject a verification","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verifications/{verification}/reject","href":"/api-reference/witnessed-stock-actions/reject-a-verification"},{"title":"Sign as the witness","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verifications/{verification}/witness","href":"/api-reference/witnessed-stock-actions/sign-as-the-witness"},{"title":"List the witnesses on shift","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/verifications/{verification}/witnesses","href":"/api-reference/witnessed-stock-actions/list-the-witnesses-on-shift"},{"title":"Preview a witnessed stock action","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verifications/preview","href":"/api-reference/witnessed-stock-actions/preview-a-witnessed-stock-action"}]},{"group":"Item stock","pages":[{"title":"Get an item's stock","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/items/{item}","href":"/api-reference/item-stock/get-an-items-stock"},{"title":"Set an item's picking rules","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/items/{item}/allocation","href":"/api-reference/item-stock/set-an-items-picking-rules"},{"title":"Print labels for an untracked item","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/items/{item}/labels","href":"/api-reference/item-stock/print-labels-for-an-untracked-item"},{"title":"Get available to promise","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/items/{item}/reservations","href":"/api-reference/item-stock/get-available-to-promise"},{"title":"Set an item's controlled substance schedule","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/items/{item}/schedule","href":"/api-reference/item-stock/set-an-items-controlled-substance-schedule"},{"title":"Print labels for an item's serials","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/items/{item}/serial-labels","href":"/api-reference/item-stock/print-labels-for-an-items-serials"},{"title":"Set an item's standard cost","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/items/{item}/standard-cost","href":"/api-reference/item-stock/set-an-items-standard-cost"},{"title":"Set how an item is tracked","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/items/{item}/tracking","href":"/api-reference/item-stock/set-how-an-item-is-tracked"}]},{"group":"Transfers","pages":[{"title":"List transfers","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/transfers","href":"/api-reference/transfers/list-transfers"},{"title":"Create a transfer","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/transfers","href":"/api-reference/transfers/create-a-transfer"},{"title":"Get a transfer","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/transfers/{transfer}","href":"/api-reference/transfers/get-a-transfer"},{"title":"Update a draft transfer","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/transfers/{transfer}","href":"/api-reference/transfers/update-a-draft-transfer"},{"title":"Cancel a draft transfer","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/transfers/{transfer}/cancel","href":"/api-reference/transfers/cancel-a-draft-transfer"},{"title":"Receive a transfer","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/transfers/{transfer}/receive","href":"/api-reference/transfers/receive-a-transfer"},{"title":"Undo a transfer shipment","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/transfers/{transfer}/reverse","href":"/api-reference/transfers/undo-a-transfer-shipment"},{"title":"Ship a transfer","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/transfers/{transfer}/ship","href":"/api-reference/transfers/ship-a-transfer"}]},{"group":"Landed costs","pages":[{"title":"List landed cost documents, newest first, in one status or all","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/landed-costs","href":"/api-reference/landed-costs/list-landed-cost-documents-newest-first-in-one-status-or-all"},{"title":"Create a landed cost draft: its charges and the receipt movements they are allocated to","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/landed-costs","href":"/api-reference/landed-costs/create-a-landed-cost-draft:-its-charges-and-the-receipt-movements-they-are-allocated-to"},{"title":"Show a landed cost document with its charges and receipts, and each receipt's share once posted","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/landed-costs/{landedCost}","href":"/api-reference/landed-costs/show-a-landed-cost-document-with-its-charges-and-receipts-and-each-receipts-share-once-posted"},{"title":"Replace a landed cost draft's reference, basis, charges and receipts","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/landed-costs/{landedCost}","href":"/api-reference/landed-costs/replace-a-landed-cost-drafts-reference-basis-charges-and-receipts"},{"title":"Cancel a landed cost draft","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/landed-costs/{landedCost}/cancel","href":"/api-reference/landed-costs/cancel-a-landed-cost-draft"},{"title":"Post a landed cost draft","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/landed-costs/{landedCost}/post","href":"/api-reference/landed-costs/post-a-landed-cost-draft"},{"title":"Reverse a posted landed cost, taking its cost back off what it went onto","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/landed-costs/{landedCost}/reverse","href":"/api-reference/landed-costs/reverse-a-posted-landed-cost-taking-its-cost-back-off-what-it-went-onto"}]},{"group":"Stock counts","pages":[{"title":"List stock counts","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/counts","href":"/api-reference/stock-counts/list-stock-counts"},{"title":"Start a stock count","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/counts","href":"/api-reference/stock-counts/start-a-stock-count"},{"title":"Get a stock count","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/counts/{count}","href":"/api-reference/stock-counts/get-a-stock-count"},{"title":"Approve a stock count","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/counts/{count}/approve","href":"/api-reference/stock-counts/approve-a-stock-count"},{"title":"Cancel a stock count","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/counts/{count}/cancel","href":"/api-reference/stock-counts/cancel-a-stock-count"},{"title":"Record counted quantities","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/counts/{count}/lines","href":"/api-reference/stock-counts/record-counted-quantities"},{"title":"Add an unexpected line to a count","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/counts/{count}/lines","href":"/api-reference/stock-counts/add-an-unexpected-line-to-a-count"}]},{"group":"Locations","pages":[{"title":"List locations","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/locations","href":"/api-reference/locations/list-locations"},{"title":"Create a location","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/locations","href":"/api-reference/locations/create-a-location"},{"title":"Get a location","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/locations/{location}","href":"/api-reference/locations/get-a-location"},{"title":"Update a location","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/locations/{location}","href":"/api-reference/locations/update-a-location"},{"title":"Archive a location","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/locations/{location}/archive","href":"/api-reference/locations/archive-a-location"},{"title":"Restore an archived location","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/locations/{location}/restore","href":"/api-reference/locations/restore-an-archived-location"}]},{"group":"Periods","pages":[{"title":"List a fiscal year's inventory periods, with the fiscal calendar and the lock date","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/periods","href":"/api-reference/periods/list-a-fiscal-years-inventory-periods-with-the-fiscal-calendar-and-the-lock-date"},{"title":"Show an inventory period, named by its first day, with what still keeps it from closing","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/periods/{period}","href":"/api-reference/periods/show-an-inventory-period-named-by-its-first-day-with-what-still-keeps-it-from-closing"},{"title":"Close a closing inventory period and keep its valuation snapshot","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/periods/{period}/close","href":"/api-reference/periods/close-a-closing-inventory-period-and-keep-its-valuation-snapshot"},{"title":"Start closing an inventory period, which locks it","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/periods/{period}/closing","href":"/api-reference/periods/start-closing-an-inventory-period-which-locks-it"},{"title":"Reopen the latest closing or closed inventory period with an electronic signature","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/periods/{period}/reopen","href":"/api-reference/periods/reopen-the-latest-closing-or-closed-inventory-period-with-an-electronic-signature"},{"title":"Set the fiscal calendar: the month the fiscal year starts in and the time zone periods are cut in","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/periods/calendar","href":"/api-reference/periods/set-the-fiscal-calendar:-the-month-the-fiscal-year-starts-in-and-the-time-zone-periods-are-cut-in"}]},{"group":"Inventory imports","pages":[{"title":"Upload a CSV of opening stock to import","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/imports","href":"/api-reference/inventory-imports/upload-a-csv-of-opening-stock-to-import"},{"title":"Show a stock import and its report","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/imports/{import}","href":"/api-reference/inventory-imports/show-a-stock-import-and-its-report"},{"title":"Map an import's columns and preview it","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/imports/{import}/mapping","href":"/api-reference/inventory-imports/map-an-imports-columns-and-preview-it"},{"title":"Run a previewed import","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/imports/{import}/run","href":"/api-reference/inventory-imports/run-a-previewed-import"},{"title":"List saved import mappings","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/imports/mappings","href":"/api-reference/inventory-imports/list-saved-import-mappings"}]},{"group":"Release requests","pages":[{"title":"List release requests","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/release-requests","href":"/api-reference/release-requests/list-release-requests"},{"title":"Ask to release held stock","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/release-requests","href":"/api-reference/release-requests/ask-to-release-held-stock"},{"title":"Decline a release request","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/release-requests/{releaseRequest}/decline","href":"/api-reference/release-requests/decline-a-release-request"},{"title":"Withdraw a release request","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/release-requests/{releaseRequest}/withdraw","href":"/api-reference/release-requests/withdraw-a-release-request"}]},{"group":"Signers","pages":[{"title":"Accept the signature statement","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/signature-statement/acceptance","href":"/api-reference/signers/accept-the-signature-statement"},{"title":"Show who may sign witnessed stock actions","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/signers","href":"/api-reference/signers/show-who-may-sign-witnessed-stock-actions"},{"title":"Enroll a signer","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/signers","href":"/api-reference/signers/enroll-a-signer"},{"title":"Withdraw a signer's enrollment","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/signers/{enrollment}/withdrawal","href":"/api-reference/signers/withdraw-a-signers-enrollment"}]},{"group":"Stock","pages":[{"title":"List stock on hand","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/stock","href":"/api-reference/stock/list-stock-on-hand"},{"title":"Adjust stock","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/stock/adjustments","href":"/api-reference/stock/adjust-stock"},{"title":"Export stock as CSV","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/stock/export","href":"/api-reference/stock/export-stock-as-csv"},{"title":"Change stock status","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/stock/status-changes","href":"/api-reference/stock/change-stock-status"}]},{"group":"Witnessing rules","pages":[{"title":"Show the witnessing rules: which stock actions wait for a second person to recount and sign","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/verification-policies","href":"/api-reference/witnessing-rules/show-the-witnessing-rules:-which-stock-actions-wait-for-a-second-person-to-recount-and-sign"},{"title":"Replace the witnessing rules","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/verification-policies","href":"/api-reference/witnessing-rules/replace-the-witnessing-rules"},{"title":"Add the US controlled substances preset to the witnessing rules","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/verification-policies/preset","href":"/api-reference/witnessing-rules/add-the-us-controlled-substances-preset-to-the-witnessing-rules"}]},{"group":"Allocation rules","pages":[{"title":"Show the allocation rules: which lots stock is held and issued from","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/allocation-rules","href":"/api-reference/allocation-rules/show-the-allocation-rules:-which-lots-stock-is-held-and-issued-from"},{"title":"Update the allocation rules: the picking strategy, expired lots,\nminimum shelf life, allocatable statuses and expiry warnings","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/allocation-rules","href":"/api-reference/allocation-rules/update-the-allocation-rules:-the-picking-strategy-expired-lotsminimum-shelf-life-allocatable-statuses-and-expiry-warnings"}]},{"group":"Inventory settings","pages":[{"title":"Show the Inventory settings","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/settings","href":"/api-reference/inventory-settings/show-the-inventory-settings"},{"title":"Update the Inventory settings, such as whether stock may go below zero","deprecated":null,"version":null,"openapi":"/openapi.json put /inventory/settings","href":"/api-reference/inventory-settings/update-the-inventory-settings-such-as-whether-stock-may-go-below-zero"}]},{"group":"Lots","pages":[{"title":"Show a lot, its stock by location and its movements","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/lots/{lot}","href":"/api-reference/lots/show-a-lot-its-stock-by-location-and-its-movements"},{"title":"Print labels for a lot's stock on hand","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/lots/{lot}/labels","href":"/api-reference/lots/print-labels-for-a-lots-stock-on-hand"}]},{"group":"Movements","pages":[{"title":"List stock movements","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/movements","href":"/api-reference/movements/list-stock-movements"},{"title":"Reverse a stock movement","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/movements/{movement}/reverse","href":"/api-reference/movements/reverse-a-stock-movement"}]},{"group":"Serial numbers","pages":[{"title":"Show a serial number, where the unit is, and its movements","deprecated":null,"version":null,"openapi":"/openapi.json get /inventory/serials/{serial}","href":"/api-reference/serial-numbers/show-a-serial-number-where-the-unit-is-and-its-movements"},{"title":"Print the label of a serial number on hand","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/serials/{serial}/labels","href":"/api-reference/serial-numbers/print-the-label-of-a-serial-number-on-hand"}]},{"group":"Stock moves","pages":[{"title":"Move stock between locations","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/stock-moves","href":"/api-reference/stock-moves/move-stock-between-locations"},{"title":"Undo a stock move","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/stock-moves/{move}/reversal","href":"/api-reference/stock-moves/undo-a-stock-move"}]},{"group":"Bulk previews","pages":[{"title":"Preview a bulk stock action","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/bulk-previews","href":"/api-reference/bulk-previews/preview-a-bulk-stock-action"}]}]},{"group":"Catalog","pages":[{"group":"Items","pages":[{"title":"List items","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/items","href":"/api-reference/items/list-items"},{"title":"Create an item","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/items","href":"/api-reference/items/create-an-item"},{"title":"Get an item","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/items/{item}","href":"/api-reference/items/get-an-item"},{"title":"Update an item","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/items/{item}","href":"/api-reference/items/update-an-item"},{"title":"Archive an item","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/items/{item}/archive","href":"/api-reference/items/archive-an-item"},{"title":"List an item's attachments","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/items/{item}/attachments","href":"/api-reference/items/list-an-items-attachments"},{"title":"Upload an item attachment","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/items/{item}/attachments","href":"/api-reference/items/upload-an-item-attachment"},{"title":"Delete an item attachment","deprecated":null,"version":null,"openapi":"/openapi.json delete /catalog/items/{item}/attachments/{attachment}","href":"/api-reference/items/delete-an-item-attachment"},{"title":"Set an item's primary image","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/items/{item}/attachments/{attachment}/primary","href":"/api-reference/items/set-an-items-primary-image"},{"title":"List an item's barcodes","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/items/{item}/barcodes","href":"/api-reference/items/list-an-items-barcodes"},{"title":"Add a barcode","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/items/{item}/barcodes","href":"/api-reference/items/add-a-barcode"},{"title":"Remove a barcode","deprecated":null,"version":null,"openapi":"/openapi.json delete /catalog/items/{item}/barcodes/{barcode}","href":"/api-reference/items/remove-a-barcode"},{"title":"Set an item's base unit","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/items/{item}/base-unit","href":"/api-reference/items/set-an-items-base-unit"},{"title":"Set an item's data classification","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/items/{item}/classification","href":"/api-reference/items/set-an-items-data-classification"},{"title":"Set a unit conversion","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/items/{item}/conversions","href":"/api-reference/items/set-a-unit-conversion"},{"title":"Remove a unit conversion","deprecated":null,"version":null,"openapi":"/openapi.json delete /catalog/items/{item}/conversions/{unit}","href":"/api-reference/items/remove-a-unit-conversion"},{"title":"Convert between an item's units","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/items/{item}/convert","href":"/api-reference/items/convert-between-an-items-units"},{"title":"Get an item's kit","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/items/{item}/kit","href":"/api-reference/items/get-an-items-kit"},{"title":"Add or change a kit component","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/items/{item}/kit/components","href":"/api-reference/items/add-or-change-a-kit-component"},{"title":"Remove a kit component","deprecated":null,"version":null,"openapi":"/openapi.json delete /catalog/items/{item}/kit/components/{component}","href":"/api-reference/items/remove-a-kit-component"},{"title":"Restore an archived item","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/items/{item}/restore","href":"/api-reference/items/restore-an-archived-item"},{"title":"Get an item's units","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/items/{item}/units","href":"/api-reference/items/get-an-items-units"},{"title":"Export items as CSV","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/items/export","href":"/api-reference/items/export-items-as-csv"}]},{"group":"Families","pages":[{"title":"List variant families","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/families","href":"/api-reference/families/list-variant-families"},{"title":"Create a variant family","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/families","href":"/api-reference/families/create-a-variant-family"},{"title":"Show a variant family and its variants","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/families/{family}","href":"/api-reference/families/show-a-variant-family-and-its-variants"},{"title":"Update a variant family","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/families/{family}","href":"/api-reference/families/update-a-variant-family"},{"title":"Generate a family's variants","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/families/{family}/variants","href":"/api-reference/families/generate-a-familys-variants"},{"title":"Preview a family's variants","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/families/{family}/variants/preview","href":"/api-reference/families/preview-a-familys-variants"}]},{"group":"Catalog imports","pages":[{"title":"Upload a CSV of items to import","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/imports","href":"/api-reference/catalog-imports/upload-a-csv-of-items-to-import"},{"title":"Show an item import and its report","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/imports/{import}","href":"/api-reference/catalog-imports/show-an-item-import-and-its-report"},{"title":"Map an import's columns and preview it","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/imports/{import}/mapping","href":"/api-reference/catalog-imports/map-an-imports-columns-and-preview-it"},{"title":"Run a previewed import","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/imports/{import}/run","href":"/api-reference/catalog-imports/run-a-previewed-import"},{"title":"List saved import mappings","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/imports/mappings","href":"/api-reference/catalog-imports/list-saved-import-mappings"}]},{"group":"Custom fields","pages":[{"title":"List the custom fields items can hold values for","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/fields","href":"/api-reference/custom-fields/list-the-custom-fields-items-can-hold-values-for"},{"title":"Define a custom field for items","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/fields","href":"/api-reference/custom-fields/define-a-custom-field-for-items"},{"title":"Change a custom field for items","deprecated":null,"version":null,"openapi":"/openapi.json put /catalog/fields/{field}","href":"/api-reference/custom-fields/change-a-custom-field-for-items"},{"title":"Remove a custom field for items","deprecated":null,"version":null,"openapi":"/openapi.json delete /catalog/fields/{field}","href":"/api-reference/custom-fields/remove-a-custom-field-for-items"}]},{"group":"Product library","pages":[{"title":"List library products to import as items","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/library","href":"/api-reference/product-library/list-library-products-to-import-as-items"},{"title":"Import library products as items","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/library/imports","href":"/api-reference/product-library/import-library-products-as-items"},{"title":"Search the library","deprecated":null,"version":null,"openapi":"/openapi.json get /library/products","href":"/api-reference/product-library/search-the-library"},{"title":"Look up a product in the library","deprecated":null,"version":null,"openapi":"/openapi.json get /library/products/{code}","href":"/api-reference/product-library/look-up-a-product-in-the-library"}]},{"group":"Units","pages":[{"title":"List units of measure: the standard ones and the organization's own","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/units","href":"/api-reference/units/list-units-of-measure:-the-standard-ones-and-the-organizations-own"},{"title":"Add a unit of the organization's own","deprecated":null,"version":null,"openapi":"/openapi.json post /catalog/units","href":"/api-reference/units/add-a-unit-of-the-organizations-own"},{"title":"Remove a unit of the organization's own","deprecated":null,"version":null,"openapi":"/openapi.json delete /catalog/units/{unit}","href":"/api-reference/units/remove-a-unit-of-the-organizations-own"}]},{"group":"Scanning","pages":[{"title":"Look up a scanned code","deprecated":null,"version":null,"openapi":"/openapi.json get /catalog/scan/{code}","href":"/api-reference/scanning/look-up-a-scanned-code"}]}]},{"group":"Purchasing","pages":[{"group":"Suppliers","pages":[{"title":"List suppliers by code, active or archived, optionally matching a query","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/suppliers","href":"/api-reference/suppliers/list-suppliers-by-code-active-or-archived-optionally-matching-a-query"},{"title":"Add a supplier","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/suppliers","href":"/api-reference/suppliers/add-a-supplier"},{"title":"Show a supplier with its contacts","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/suppliers/{supplier}","href":"/api-reference/suppliers/show-a-supplier-with-its-contacts"},{"title":"Change a supplier's code, name, terms, address or notes","deprecated":null,"version":null,"openapi":"/openapi.json put /purchasing/suppliers/{supplier}","href":"/api-reference/suppliers/change-a-suppliers-code-name-terms-address-or-notes"},{"title":"Archive a supplier. It is kept, with every purchase order that names it","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/suppliers/{supplier}/archive","href":"/api-reference/suppliers/archive-a-supplier-it-is-kept-with-every-purchase-order-that-names-it"},{"title":"List a supplier's certificates, soonest to expire first","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/suppliers/{supplier}/certificates","href":"/api-reference/suppliers/list-a-suppliers-certificates-soonest-to-expire-first"},{"title":"Upload a supplier certificate","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/suppliers/{supplier}/certificates","href":"/api-reference/suppliers/upload-a-supplier-certificate"},{"title":"Delete a supplier certificate and its file","deprecated":null,"version":null,"openapi":"/openapi.json delete /purchasing/suppliers/{supplier}/certificates/{certificate}","href":"/api-reference/suppliers/delete-a-supplier-certificate-and-its-file"},{"title":"Set the receipts a certificate covers","deprecated":null,"version":null,"openapi":"/openapi.json put /purchasing/suppliers/{supplier}/certificates/{certificate}/receipts","href":"/api-reference/suppliers/set-the-receipts-a-certificate-covers"},{"title":"Add a person to a supplier","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/suppliers/{supplier}/contacts","href":"/api-reference/suppliers/add-a-person-to-a-supplier"},{"title":"Change a supplier contact's details","deprecated":null,"version":null,"openapi":"/openapi.json put /purchasing/suppliers/{supplier}/contacts/{contact}","href":"/api-reference/suppliers/change-a-supplier-contacts-details"},{"title":"Remove a person from a supplier","deprecated":null,"version":null,"openapi":"/openapi.json delete /purchasing/suppliers/{supplier}/contacts/{contact}","href":"/api-reference/suppliers/remove-a-person-from-a-supplier"},{"title":"Set a supplier's document language and templates","deprecated":null,"version":null,"openapi":"/openapi.json put /purchasing/suppliers/{supplier}/documents","href":"/api-reference/suppliers/set-a-suppliers-document-language-and-templates"},{"title":"List what a supplier sells, with its price breaks","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/suppliers/{supplier}/items","href":"/api-reference/suppliers/list-what-a-supplier-sells-with-its-price-breaks"},{"title":"Add an item to a supplier's catalog","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/suppliers/{supplier}/items","href":"/api-reference/suppliers/add-an-item-to-a-suppliers-catalog"},{"title":"Change an item of a supplier's catalog, replacing its price breaks","deprecated":null,"version":null,"openapi":"/openapi.json put /purchasing/suppliers/{supplier}/items/{supplierItem}","href":"/api-reference/suppliers/change-an-item-of-a-suppliers-catalog-replacing-its-price-breaks"},{"title":"Take an item off a supplier's catalog","deprecated":null,"version":null,"openapi":"/openapi.json delete /purchasing/suppliers/{supplier}/items/{supplierItem}","href":"/api-reference/suppliers/take-an-item-off-a-suppliers-catalog"},{"title":"Work out a supplier's price for a quantity on a date","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/suppliers/{supplier}/items/{supplierItem}/price","href":"/api-reference/suppliers/work-out-a-suppliers-price-for-a-quantity-on-a-date"},{"title":"Restore an archived supplier","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/suppliers/{supplier}/restore","href":"/api-reference/suppliers/restore-an-archived-supplier"}]},{"group":"Purchase orders","pages":[{"title":"List purchase orders","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/orders","href":"/api-reference/purchase-orders/list-purchase-orders"},{"title":"Create a purchase order","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders","href":"/api-reference/purchase-orders/create-a-purchase-order"},{"title":"Get a purchase order","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/orders/{order}","href":"/api-reference/purchase-orders/get-a-purchase-order"},{"title":"Update a draft purchase order","description":"Replaces the supplier, delivery location, dates, note and lines in one go, so send the whole order.\nOnly drafts can change.\n\nNeeds the `purchasing.orders.manage` permission and a token with `purchasing:write`.","deprecated":null,"version":null,"openapi":"/openapi.json put /purchasing/orders/{order}","href":"/api-reference/purchase-orders/update-a-draft-purchase-order"},{"title":"Approve a purchase order","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/approve","href":"/api-reference/purchase-orders/approve-a-purchase-order"},{"title":"Cancel a purchase order","description":"Only possible while nothing has been received against the order. Once goods have arrived, close it\ninstead.\n\nNeeds the `purchasing.orders.manage` permission and a token with `purchasing:write`.","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/cancel","href":"/api-reference/purchase-orders/cancel-a-purchase-order"},{"title":"Close a purchase order","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/close","href":"/api-reference/purchase-orders/close-a-purchase-order"},{"title":"Download a purchase order as a PDF","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/orders/{order}/pdf","href":"/api-reference/purchase-orders/download-a-purchase-order-as-a-pdf"},{"title":"List a purchase order's receipts","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/orders/{order}/receipts","href":"/api-reference/purchase-orders/list-a-purchase-orders-receipts"},{"title":"Receive goods against a purchase order","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/receipts","href":"/api-reference/purchase-orders/receive-goods-against-a-purchase-order"},{"title":"Reject a purchase order that asked for approval","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/reject","href":"/api-reference/purchase-orders/reject-a-purchase-order-that-asked-for-approval"},{"title":"Ask for approval of a purchase order","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/request-approval","href":"/api-reference/purchase-orders/ask-for-approval-of-a-purchase-order"},{"title":"Email a purchase order to the supplier","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/orders/{order}/send","href":"/api-reference/purchase-orders/email-a-purchase-order-to-the-supplier"}]},{"group":"Purchasing imports","pages":[{"title":"Show a supplier or supplier catalog import, with a report of every row","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/imports/{import}","href":"/api-reference/purchasing-imports/show-a-supplier-or-supplier-catalog-import-with-a-report-of-every-row"},{"title":"Map an import's columns and check every row","deprecated":null,"version":null,"openapi":"/openapi.json put /purchasing/imports/{import}/mapping","href":"/api-reference/purchasing-imports/map-an-imports-columns-and-check-every-row"},{"title":"Run a checked import in the queue","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/imports/{import}/run","href":"/api-reference/purchasing-imports/run-a-checked-import-in-the-queue"},{"title":"Upload a supplier or supplier catalog file to import","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/imports/{kind}","href":"/api-reference/purchasing-imports/upload-a-supplier-or-supplier-catalog-file-to-import"},{"title":"List the saved mappings for one kind of import, by name","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/imports/mappings/{kind}","href":"/api-reference/purchasing-imports/list-the-saved-mappings-for-one-kind-of-import-by-name"}]},{"group":"Purchasing settings","pages":[{"title":"Show the organization's purchasing settings","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/settings","href":"/api-reference/purchasing-settings/show-the-organizations-purchasing-settings"},{"title":"Change the organization's purchasing settings","deprecated":null,"version":null,"openapi":"/openapi.json put /purchasing/settings","href":"/api-reference/purchasing-settings/change-the-organizations-purchasing-settings"}]},{"group":"Receipts","pages":[{"title":"Print labels for a receipt line","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/receipts/{receipt}/labels","href":"/api-reference/receipts/print-labels-for-a-receipt-line"},{"title":"Reverse a receipt","deprecated":null,"version":null,"openapi":"/openapi.json post /purchasing/receipts/{receipt}/reverse","href":"/api-reference/receipts/reverse-a-receipt"}]},{"group":"Item suppliers","pages":[{"title":"List who sells an item, the preferred supplier first","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/items/{item}/suppliers","href":"/api-reference/item-suppliers/list-who-sells-an-item-the-preferred-supplier-first"}]},{"group":"Purchasing exports","pages":[{"title":"Export the active suppliers, or their catalogs, as CSV","deprecated":null,"version":null,"openapi":"/openapi.json get /purchasing/exports/{kind}","href":"/api-reference/purchasing-exports/export-the-active-suppliers-or-their-catalogs-as-csv"}]}]},{"group":"Sales","pages":[{"group":"Sales orders","pages":[{"title":"List sales orders","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/orders","href":"/api-reference/sales-orders/list-sales-orders"},{"title":"Create a sales order","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/orders","href":"/api-reference/sales-orders/create-a-sales-order"},{"title":"Get a sales order","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/orders/{order}","href":"/api-reference/sales-orders/get-a-sales-order"},{"title":"Update a draft sales order","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/orders/{order}","href":"/api-reference/sales-orders/update-a-draft-sales-order"},{"title":"Amend a confirmed sales order","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/orders/{order}/amendment","href":"/api-reference/sales-orders/amend-a-confirmed-sales-order"},{"title":"Cancel a sales order","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/orders/{order}/cancel","href":"/api-reference/sales-orders/cancel-a-sales-order"},{"title":"List a sales order's certificates of conformance","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/orders/{order}/certificates","href":"/api-reference/sales-orders/list-a-sales-orders-certificates-of-conformance"},{"title":"Ship a sales order with a certificate of conformance","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/orders/{order}/certified-shipments","href":"/api-reference/sales-orders/ship-a-sales-order-with-a-certificate-of-conformance"},{"title":"Confirm a sales order","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/orders/{order}/confirm","href":"/api-reference/sales-orders/confirm-a-sales-order"},{"title":"Invoice a sales order","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/orders/{order}/invoices","href":"/api-reference/sales-orders/invoice-a-sales-order"},{"title":"Reserve stock for a sales order","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/orders/{order}/reservation","href":"/api-reference/sales-orders/reserve-stock-for-a-sales-order"},{"title":"List a sales order's returns","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/orders/{order}/returns","href":"/api-reference/sales-orders/list-a-sales-orders-returns"},{"title":"Authorize a return","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/orders/{order}/returns","href":"/api-reference/sales-orders/authorize-a-return"},{"title":"List a sales order's shipments","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/orders/{order}/shipments","href":"/api-reference/sales-orders/list-a-sales-orders-shipments"},{"title":"Ship a sales order","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/orders/{order}/shipments","href":"/api-reference/sales-orders/ship-a-sales-order"}]},{"group":"Customers","pages":[{"title":"List customers by code, active or archived, optionally matching a query","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/customers","href":"/api-reference/customers/list-customers-by-code-active-or-archived-optionally-matching-a-query"},{"title":"Add a customer","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/customers","href":"/api-reference/customers/add-a-customer"},{"title":"Show a customer with its contacts","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/customers/{customer}","href":"/api-reference/customers/show-a-customer-with-its-contacts"},{"title":"Change a customer's code, name, terms, address or notes","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/customers/{customer}","href":"/api-reference/customers/change-a-customers-code-name-terms-address-or-notes"},{"title":"Archive a customer. It is kept, with every order and invoice that names it","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/customers/{customer}/archive","href":"/api-reference/customers/archive-a-customer-it-is-kept-with-every-order-and-invoice-that-names-it"},{"title":"Set what a customer asks of its certificates of conformance","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/customers/{customer}/certificates","href":"/api-reference/customers/set-what-a-customer-asks-of-its-certificates-of-conformance"},{"title":"Add a person to a customer","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/customers/{customer}/contacts","href":"/api-reference/customers/add-a-person-to-a-customer"},{"title":"Change a customer contact's details","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/customers/{customer}/contacts/{contact}","href":"/api-reference/customers/change-a-customer-contacts-details"},{"title":"Remove a person from a customer","deprecated":null,"version":null,"openapi":"/openapi.json delete /sales/customers/{customer}/contacts/{contact}","href":"/api-reference/customers/remove-a-person-from-a-customer"},{"title":"Set a customer's document language and templates","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/customers/{customer}/documents","href":"/api-reference/customers/set-a-customers-document-language-and-templates"},{"title":"Restore an archived customer","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/customers/{customer}/restore","href":"/api-reference/customers/restore-an-archived-customer"}]},{"group":"Invoices","pages":[{"title":"List invoices, newest first, by status, customer or order","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/invoices","href":"/api-reference/invoices/list-invoices-newest-first-by-status-customer-or-order"},{"title":"Show an invoice with its lines, payments and credit note","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/invoices/{invoice}","href":"/api-reference/invoices/show-an-invoice-with-its-lines-payments-and-credit-note"},{"title":"Change a draft invoice's issue date and note","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/invoices/{invoice}","href":"/api-reference/invoices/change-a-draft-invoices-issue-date-and-note"},{"title":"Issue a draft invoice, which locks it","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/invoices/{invoice}/issue","href":"/api-reference/invoices/issue-a-draft-invoice-which-locks-it"},{"title":"Take a line off a draft invoice","deprecated":null,"version":null,"openapi":"/openapi.json delete /sales/invoices/{invoice}/lines/{line}","href":"/api-reference/invoices/take-a-line-off-a-draft-invoice"},{"title":"Record a payment made elsewhere against an issued invoice","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/invoices/{invoice}/payments","href":"/api-reference/invoices/record-a-payment-made-elsewhere-against-an-issued-invoice"},{"title":"Remove a payment recorded by mistake","deprecated":null,"version":null,"openapi":"/openapi.json delete /sales/invoices/{invoice}/payments/{payment}","href":"/api-reference/invoices/remove-a-payment-recorded-by-mistake"},{"title":"Download an invoice as a PDF","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/invoices/{invoice}/pdf","href":"/api-reference/invoices/download-an-invoice-as-a-pdf"},{"title":"Tax a draft invoice again","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/invoices/{invoice}/recalculate-tax","href":"/api-reference/invoices/tax-a-draft-invoice-again"},{"title":"Email an issued invoice to one of the customer's contacts","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/invoices/{invoice}/send","href":"/api-reference/invoices/email-an-issued-invoice-to-one-of-the-customers-contacts"},{"title":"Void an invoice","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/invoices/{invoice}/void","href":"/api-reference/invoices/void-an-invoice"}]},{"group":"Price lists","pages":[{"title":"List the organization's price lists, the default first","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/price-lists","href":"/api-reference/price-lists/list-the-organizations-price-lists-the-default-first"},{"title":"Add a price list","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/price-lists","href":"/api-reference/price-lists/add-a-price-list"},{"title":"Show a price list with a page of its prices","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/price-lists/{priceList}","href":"/api-reference/price-lists/show-a-price-list-with-a-page-of-its-prices"},{"title":"Rename a price list or change its description","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/price-lists/{priceList}","href":"/api-reference/price-lists/rename-a-price-list-or-change-its-description"},{"title":"Archive a price list. Its customers fall back to the default list; the default list cannot be archived","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/price-lists/{priceList}/archive","href":"/api-reference/price-lists/archive-a-price-list-its-customers-fall-back-to-the-default-list;-the-default-list-cannot-be-archived"},{"title":"Make a price list the organization's default, in place of the one before","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/price-lists/{priceList}/default","href":"/api-reference/price-lists/make-a-price-list-the-organizations-default-in-place-of-the-one-before"},{"title":"Price an item on a price list","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/price-lists/{priceList}/items","href":"/api-reference/price-lists/price-an-item-on-a-price-list"},{"title":"Change an item's price on a price list","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/price-lists/{priceList}/items/{priceListItem}","href":"/api-reference/price-lists/change-an-items-price-on-a-price-list"},{"title":"Take an item's price off a price list","deprecated":null,"version":null,"openapi":"/openapi.json delete /sales/price-lists/{priceList}/items/{priceListItem}","href":"/api-reference/price-lists/take-an-items-price-off-a-price-list"},{"title":"Restore an archived price list","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/price-lists/{priceList}/restore","href":"/api-reference/price-lists/restore-an-archived-price-list"}]},{"group":"Quotes","pages":[{"title":"List quotes, newest first, by status or customer","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/quotes","href":"/api-reference/quotes/list-quotes-newest-first-by-status-or-customer"},{"title":"Take a quote as a draft","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/quotes","href":"/api-reference/quotes/take-a-quote-as-a-draft"},{"title":"Show a quote with its lines and the order it was accepted into","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/quotes/{quote}","href":"/api-reference/quotes/show-a-quote-with-its-lines-and-the-order-it-was-accepted-into"},{"title":"Change a draft quote","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/quotes/{quote}","href":"/api-reference/quotes/change-a-draft-quote"},{"title":"Accept a sent quote into a sales order","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/quotes/{quote}/accept","href":"/api-reference/quotes/accept-a-sent-quote-into-a-sales-order"},{"title":"Record that the customer declined a sent quote","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/quotes/{quote}/decline","href":"/api-reference/quotes/record-that-the-customer-declined-a-sent-quote"},{"title":"Download a quote as a PDF","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/quotes/{quote}/pdf","href":"/api-reference/quotes/download-a-quote-as-a-pdf"},{"title":"Email a quote to one of the customer's contacts","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/quotes/{quote}/send","href":"/api-reference/quotes/email-a-quote-to-one-of-the-customers-contacts"}]},{"group":"Tax rates","pages":[{"title":"List the organization's tax rates, active ones first","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/tax-rates","href":"/api-reference/tax-rates/list-the-organizations-tax-rates-active-ones-first"},{"title":"Add a named tax rate","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/tax-rates","href":"/api-reference/tax-rates/add-a-named-tax-rate"},{"title":"Rename a tax rate or change its percent","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/tax-rates/{taxRate}","href":"/api-reference/tax-rates/rename-a-tax-rate-or-change-its-percent"},{"title":"Archive a tax rate that is not the default","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/tax-rates/{taxRate}/archive","href":"/api-reference/tax-rates/archive-a-tax-rate-that-is-not-the-default"},{"title":"Make a tax rate the organization's default","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/tax-rates/{taxRate}/default","href":"/api-reference/tax-rates/make-a-tax-rate-the-organizations-default"},{"title":"Bring an archived tax rate back into use","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/tax-rates/{taxRate}/restore","href":"/api-reference/tax-rates/bring-an-archived-tax-rate-back-into-use"}]},{"group":"Sales imports","pages":[{"title":"Upload a customer or price list file to import","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/imports/{kind}","href":"/api-reference/sales-imports/upload-a-customer-or-price-list-file-to-import"},{"title":"Show a customer or price list import, with a report of every row","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/imports/{kind}/{import}","href":"/api-reference/sales-imports/show-a-customer-or-price-list-import-with-a-report-of-every-row"},{"title":"Map an import's columns and check every row","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/imports/{kind}/{import}/mapping","href":"/api-reference/sales-imports/map-an-imports-columns-and-check-every-row"},{"title":"Run a checked import in the queue","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/imports/{kind}/{import}/run","href":"/api-reference/sales-imports/run-a-checked-import-in-the-queue"},{"title":"List the saved mappings for one kind of import, by name","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/imports/{kind}/mappings","href":"/api-reference/sales-imports/list-the-saved-mappings-for-one-kind-of-import-by-name"}]},{"group":"Returns","pages":[{"title":"List returns, newest first, by status or order","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/returns","href":"/api-reference/returns/list-returns-newest-first-by-status-or-order"},{"title":"Show a return with its lines and the credit notes it wrote","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/returns/{salesReturn}","href":"/api-reference/returns/show-a-return-with-its-lines-and-the-credit-notes-it-wrote"},{"title":"Cancel an authorized return","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/returns/{salesReturn}/cancel","href":"/api-reference/returns/cancel-an-authorized-return"},{"title":"Receive an authorized return","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/returns/{salesReturn}/receive","href":"/api-reference/returns/receive-an-authorized-return"}]},{"group":"Shipments","pages":[{"title":"Sign a certificate of conformance for a shipment","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/shipments/{shipment}/certificates","href":"/api-reference/shipments/sign-a-certificate-of-conformance-for-a-shipment"},{"title":"Download a packing slip as a PDF","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/shipments/{shipment}/packing-slip/pdf","href":"/api-reference/shipments/download-a-packing-slip-as-a-pdf"},{"title":"Reverse a shipment","deprecated":null,"version":null,"openapi":"/openapi.json post /sales/shipments/{shipment}/reverse","href":"/api-reference/shipments/reverse-a-shipment"},{"title":"Record a shipment's tracking number","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/shipments/{shipment}/tracking","href":"/api-reference/shipments/record-a-shipments-tracking-number"}]},{"group":"Sales settings","pages":[{"title":"Show the organization's sales settings","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/settings","href":"/api-reference/sales-settings/show-the-organizations-sales-settings"},{"title":"Change the organization's sales settings","deprecated":null,"version":null,"openapi":"/openapi.json put /sales/settings","href":"/api-reference/sales-settings/change-the-organizations-sales-settings"}]},{"group":"Certificates of conformance","pages":[{"title":"Get a certificate of conformance","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/certificates/{certificate}","href":"/api-reference/certificates-of-conformance/get-a-certificate-of-conformance"}]},{"group":"Prices","pages":[{"title":"Work out what a customer pays for an item","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/prices/quote","href":"/api-reference/prices/work-out-what-a-customer-pays-for-an-item"}]},{"group":"Sales exports","pages":[{"title":"Export the active customers, or the prices on the active price lists, as CSV","deprecated":null,"version":null,"openapi":"/openapi.json get /sales/exports/{kind}","href":"/api-reference/sales-exports/export-the-active-customers-or-the-prices-on-the-active-price-lists-as-csv"}]}]},{"group":"Manufacturing","pages":[{"group":"Builds","pages":[{"title":"List builds, newest first, optionally in one status","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/builds","href":"/api-reference/builds/list-builds-newest-first-optionally-in-one-status"},{"title":"Draft a build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds","href":"/api-reference/builds/draft-a-build"},{"title":"Show a build with its parts list","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/builds/{build}","href":"/api-reference/builds/show-a-build-with-its-parts-list"},{"title":"Change a draft build","deprecated":null,"version":null,"openapi":"/openapi.json put /manufacturing/builds/{build}","href":"/api-reference/builds/change-a-draft-build"},{"title":"Cancel a build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/cancel","href":"/api-reference/builds/cancel-a-build"},{"title":"Complete a build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/complete","href":"/api-reference/builds/complete-a-build"},{"title":"Issue a step of parts to a build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/issues","href":"/api-reference/builds/issue-a-step-of-parts-to-a-build"},{"title":"Print labels for a build's units","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/labels","href":"/api-reference/builds/print-labels-for-a-builds-units"},{"title":"Bring a subcontracted operation's parts back from its supplier","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/operations/{operation}/bring-back","href":"/api-reference/builds/bring-a-subcontracted-operations-parts-back-from-its-supplier"},{"title":"Finish an operation of a build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/operations/{operation}/complete","href":"/api-reference/builds/finish-an-operation-of-a-build"},{"title":"Pause a running operation of a build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/operations/{operation}/pause","href":"/api-reference/builds/pause-a-running-operation-of-a-build"},{"title":"Raise a new purchase order for a subcontracted operation","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/operations/{operation}/reorder","href":"/api-reference/builds/raise-a-new-purchase-order-for-a-subcontracted-operation"},{"title":"Send a subcontracted operation's parts to its supplier","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/operations/{operation}/send","href":"/api-reference/builds/send-a-subcontracted-operations-parts-to-its-supplier"},{"title":"Start or resume an operation of a build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/operations/{operation}/start","href":"/api-reference/builds/start-or-resume-an-operation-of-a-build"},{"title":"Report a problem on a build or one of its operations","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/problems","href":"/api-reference/builds/report-a-problem-on-a-build-or-one-of-its-operations"},{"title":"Close a problem on a build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/problems/{problem}/close","href":"/api-reference/builds/close-a-problem-on-a-build"},{"title":"Get a download link for a problem's photo","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/builds/{build}/problems/{problem}/photo","href":"/api-reference/builds/get-a-download-link-for-a-problems-photo"},{"title":"Release a draft build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/release","href":"/api-reference/builds/release-a-draft-build"},{"title":"Reverse a completed build","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/reverse","href":"/api-reference/builds/reverse-a-completed-build"},{"title":"Correct the minutes of a time record","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/builds/{build}/time-records/{record}/correct","href":"/api-reference/builds/correct-the-minutes-of-a-time-record"}]},{"group":"Repairs","pages":[{"title":"List repairs, newest first","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/repairs","href":"/api-reference/repairs/list-repairs-newest-first"},{"title":"Open a repair","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/repairs","href":"/api-reference/repairs/open-a-repair"},{"title":"Show a repair","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/repairs/{repair}","href":"/api-reference/repairs/show-a-repair"},{"title":"Update an open repair","deprecated":null,"version":null,"openapi":"/openapi.json put /manufacturing/repairs/{repair}","href":"/api-reference/repairs/update-an-open-repair"},{"title":"Cancel an open repair","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/repairs/{repair}/cancel","href":"/api-reference/repairs/cancel-an-open-repair"},{"title":"Complete a repair","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/repairs/{repair}/complete","href":"/api-reference/repairs/complete-a-repair"},{"title":"Bill a paid repair","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/repairs/{repair}/invoice","href":"/api-reference/repairs/bill-a-paid-repair"},{"title":"Record a part on an open repair","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/repairs/{repair}/parts","href":"/api-reference/repairs/record-a-part-on-an-open-repair"}]},{"group":"Routings","pages":[{"title":"Get the routing of a BOM revision","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/routings/{revision}","href":"/api-reference/routings/get-the-routing-of-a-bom-revision"},{"title":"Add an operation to a routing","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/routings/{revision}/operations","href":"/api-reference/routings/add-an-operation-to-a-routing"},{"title":"Change an operation of a routing","deprecated":null,"version":null,"openapi":"/openapi.json put /manufacturing/routings/{revision}/operations/{operation}","href":"/api-reference/routings/change-an-operation-of-a-routing"},{"title":"Remove an operation from a routing","deprecated":null,"version":null,"openapi":"/openapi.json delete /manufacturing/routings/{revision}/operations/{operation}","href":"/api-reference/routings/remove-an-operation-from-a-routing"},{"title":"Add a file to an operation's work instructions","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/routings/{revision}/operations/{operation}/files","href":"/api-reference/routings/add-a-file-to-an-operations-work-instructions"},{"title":"Get a download link for a work instruction file","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/routings/{revision}/operations/{operation}/files/{file}","href":"/api-reference/routings/get-a-download-link-for-a-work-instruction-file"},{"title":"Remove a file from an operation's work instructions","deprecated":null,"version":null,"openapi":"/openapi.json delete /manufacturing/routings/{revision}/operations/{operation}/files/{file}","href":"/api-reference/routings/remove-a-file-from-an-operations-work-instructions"},{"title":"Subcontract an operation of a routing, or bring it back in house","deprecated":null,"version":null,"openapi":"/openapi.json put /manufacturing/routings/{revision}/operations/{operation}/subcontract","href":"/api-reference/routings/subcontract-an-operation-of-a-routing-or-bring-it-back-in-house"}]},{"group":"Work centers","pages":[{"title":"List work centers by code","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/work-centers","href":"/api-reference/work-centers/list-work-centers-by-code"},{"title":"Add a work center","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/work-centers","href":"/api-reference/work-centers/add-a-work-center"},{"title":"Get a work center","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/work-centers/{workCenter}","href":"/api-reference/work-centers/get-a-work-center"},{"title":"Change a work center","deprecated":null,"version":null,"openapi":"/openapi.json put /manufacturing/work-centers/{workCenter}","href":"/api-reference/work-centers/change-a-work-center"},{"title":"Archive a work center","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/work-centers/{workCenter}/archive","href":"/api-reference/work-centers/archive-a-work-center"},{"title":"Get a work center's load","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/work-centers/{workCenter}/load","href":"/api-reference/work-centers/get-a-work-centers-load"},{"title":"Restore an archived work center","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/work-centers/{workCenter}/restore","href":"/api-reference/work-centers/restore-an-archived-work-center"}]},{"group":"Warranty terms","pages":[{"title":"List warranty terms","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/warranty-terms","href":"/api-reference/warranty-terms/list-warranty-terms"},{"title":"Set a warranty term","deprecated":null,"version":null,"openapi":"/openapi.json put /manufacturing/warranty-terms","href":"/api-reference/warranty-terms/set-a-warranty-term"},{"title":"Remove a warranty term","deprecated":null,"version":null,"openapi":"/openapi.json delete /manufacturing/warranty-terms/{term}","href":"/api-reference/warranty-terms/remove-a-warranty-term"}]},{"group":"Genealogy","pages":[{"title":"Trace a lot or serial number's genealogy","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/genealogy/{direction}","href":"/api-reference/genealogy/trace-a-lot-or-serial-numbers-genealogy"},{"title":"Export a lot or serial number's genealogy as CSV","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/genealogy/{direction}/export","href":"/api-reference/genealogy/export-a-lot-or-serial-numbers-genealogy-as-csv"}]},{"group":"Manufacturing settings","pages":[{"title":"Show the organization's Manufacturing settings","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/settings","href":"/api-reference/manufacturing-settings/show-the-organizations-manufacturing-settings"},{"title":"Change the organization's Manufacturing settings","deprecated":null,"version":null,"openapi":"/openapi.json put /manufacturing/settings","href":"/api-reference/manufacturing-settings/change-the-organizations-manufacturing-settings"}]},{"group":"Scheduling","pages":[{"title":"List open builds with their planned days","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/schedule","href":"/api-reference/scheduling/list-open-builds-with-their-planned-days"},{"title":"Schedule builds","deprecated":null,"version":null,"openapi":"/openapi.json post /manufacturing/schedule","href":"/api-reference/scheduling/schedule-builds"}]},{"group":"Cost variances","pages":[{"title":"List completed builds' cost variances","deprecated":null,"version":null,"openapi":"/openapi.json get /manufacturing/cost-variances","href":"/api-reference/cost-variances/list-completed-builds-cost-variances"}]}]},{"group":"Engineering","pages":[{"group":"BOMs","pages":[{"title":"List BOMs by their item's SKU, active or archived, optionally matching a query","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/boms","href":"/api-reference/boms/list-boms-by-their-items-sku-active-or-archived-optionally-matching-a-query"},{"title":"Start the BOM of an item","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/boms","href":"/api-reference/boms/start-the-bom-of-an-item"},{"title":"Show a BOM with its lines by position","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/boms/{bom}","href":"/api-reference/boms/show-a-bom-with-its-lines-by-position"},{"title":"Change how much of its item a BOM yields","deprecated":null,"version":null,"openapi":"/openapi.json put /engineering/boms/{bom}","href":"/api-reference/boms/change-how-much-of-its-item-a-bom-yields"},{"title":"Archive a BOM","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/boms/{bom}/archive","href":"/api-reference/boms/archive-a-bom"},{"title":"Compare two revisions of a BOM","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/boms/{bom}/compare","href":"/api-reference/boms/compare-two-revisions-of-a-bom"},{"title":"Roll up a BOM's cost","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/boms/{bom}/cost","href":"/api-reference/boms/roll-up-a-boms-cost"},{"title":"Explode a BOM to every level","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/boms/{bom}/explosion","href":"/api-reference/boms/explode-a-bom-to-every-level"},{"title":"Add a component to a BOM","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/boms/{bom}/lines","href":"/api-reference/boms/add-a-component-to-a-bom"},{"title":"Change a line of a BOM","deprecated":null,"version":null,"openapi":"/openapi.json put /engineering/boms/{bom}/lines/{line}","href":"/api-reference/boms/change-a-line-of-a-bom"},{"title":"Remove a line from a BOM","deprecated":null,"version":null,"openapi":"/openapi.json delete /engineering/boms/{bom}/lines/{line}","href":"/api-reference/boms/remove-a-line-from-a-bom"},{"title":"Set the alternates of a BOM line","deprecated":null,"version":null,"openapi":"/openapi.json put /engineering/boms/{bom}/lines/{line}/alternates","href":"/api-reference/boms/set-the-alternates-of-a-bom-line"},{"title":"Restore an archived BOM","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/boms/{bom}/restore","href":"/api-reference/boms/restore-an-archived-bom"},{"title":"Start the next revision of a BOM","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/boms/{bom}/revisions","href":"/api-reference/boms/start-the-next-revision-of-a-bom"},{"title":"List the drawings on a revision of a BOM","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/boms/{bom}/revisions/{revision}/drawings","href":"/api-reference/boms/list-the-drawings-on-a-revision-of-a-bom"},{"title":"Upload a drawing to a revision of a BOM","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/boms/{bom}/revisions/{revision}/drawings","href":"/api-reference/boms/upload-a-drawing-to-a-revision-of-a-bom"},{"title":"Remove a drawing from a revision of a BOM","deprecated":null,"version":null,"openapi":"/openapi.json delete /engineering/boms/{bom}/revisions/{revision}/drawings/{drawing}","href":"/api-reference/boms/remove-a-drawing-from-a-revision-of-a-bom"},{"title":"Get a download link for a drawing","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/boms/{bom}/revisions/{revision}/drawings/{drawing}/download","href":"/api-reference/boms/get-a-download-link-for-a-drawing"},{"title":"Replace a drawing's file on a revision of a BOM","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/boms/{bom}/revisions/{revision}/drawings/{drawing}/replace","href":"/api-reference/boms/replace-a-drawings-file-on-a-revision-of-a-bom"},{"title":"Release a draft revision of a BOM","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/boms/{bom}/revisions/{revision}/release","href":"/api-reference/boms/release-a-draft-revision-of-a-bom"}]},{"group":"Engineering changes","pages":[{"title":"List engineering change orders, newest first, optionally in one status","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/ecos","href":"/api-reference/engineering-changes/list-engineering-change-orders-newest-first-optionally-in-one-status"},{"title":"Raise an engineering change order","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/ecos","href":"/api-reference/engineering-changes/raise-an-engineering-change-order"},{"title":"Show an engineering change order with its redlines and approvals","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/ecos/{eco}","href":"/api-reference/engineering-changes/show-an-engineering-change-order-with-its-redlines-and-approvals"},{"title":"Change a draft engineering change order","deprecated":null,"version":null,"openapi":"/openapi.json put /engineering/ecos/{eco}","href":"/api-reference/engineering-changes/change-a-draft-engineering-change-order"},{"title":"Approve a submitted engineering change order with an electronic signature","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/ecos/{eco}/approve","href":"/api-reference/engineering-changes/approve-a-submitted-engineering-change-order-with-an-electronic-signature"},{"title":"Cancel an open engineering change order","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/ecos/{eco}/cancel","href":"/api-reference/engineering-changes/cancel-an-open-engineering-change-order"},{"title":"Show what an engineering change order does to its BOMs' costs","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/ecos/{eco}/cost-impact","href":"/api-reference/engineering-changes/show-what-an-engineering-change-order-does-to-its-boms-costs"},{"title":"Implement an approved engineering change order","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/ecos/{eco}/implement","href":"/api-reference/engineering-changes/implement-an-approved-engineering-change-order"},{"title":"Reject a submitted or approved engineering change order","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/ecos/{eco}/reject","href":"/api-reference/engineering-changes/reject-a-submitted-or-approved-engineering-change-order"},{"title":"Submit a draft engineering change order for approval","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/ecos/{eco}/submit","href":"/api-reference/engineering-changes/submit-a-draft-engineering-change-order-for-approval"}]},{"group":"Engineering imports","pages":[{"title":"Upload a file of BOM lines, or a CAD BOM, to import","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/imports","href":"/api-reference/engineering-imports/upload-a-file-of-bom-lines-or-a-cad-bom-to-import"},{"title":"Show a BOM import, with a report of every row","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/imports/{import}","href":"/api-reference/engineering-imports/show-a-bom-import-with-a-report-of-every-row"},{"title":"Map a BOM import's columns and check every row","deprecated":null,"version":null,"openapi":"/openapi.json put /engineering/imports/{import}/mapping","href":"/api-reference/engineering-imports/map-a-bom-imports-columns-and-check-every-row"},{"title":"Run a checked BOM import in the queue","deprecated":null,"version":null,"openapi":"/openapi.json post /engineering/imports/{import}/run","href":"/api-reference/engineering-imports/run-a-checked-bom-import-in-the-queue"},{"title":"List the saved mappings for BOM imports, by name","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/imports/mappings","href":"/api-reference/engineering-imports/list-the-saved-mappings-for-bom-imports-by-name"}]},{"group":"Engineering settings","pages":[{"title":"Show the organization's Engineering settings","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/settings","href":"/api-reference/engineering-settings/show-the-organizations-engineering-settings"},{"title":"Change the organization's Engineering settings","deprecated":null,"version":null,"openapi":"/openapi.json put /engineering/settings","href":"/api-reference/engineering-settings/change-the-organizations-engineering-settings"}]},{"group":"Engineering exports","pages":[{"title":"Export the active BOMs as CSV","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/exports/boms","href":"/api-reference/engineering-exports/export-the-active-boms-as-csv"}]},{"group":"Where used","pages":[{"title":"Show where an item is used","deprecated":null,"version":null,"openapi":"/openapi.json get /engineering/items/{item}/where-used","href":"/api-reference/where-used/show-where-an-item-is-used"}]}]},{"group":"Quality","pages":[{"group":"Inspection plans","pages":[{"title":"List inspection plans by name, optionally at one inspection point","deprecated":null,"version":null,"openapi":"/openapi.json get /quality/plans","href":"/api-reference/inspection-plans/list-inspection-plans-by-name-optionally-at-one-inspection-point"},{"title":"Create an inspection plan","deprecated":null,"version":null,"openapi":"/openapi.json post /quality/plans","href":"/api-reference/inspection-plans/create-an-inspection-plan"},{"title":"Show an inspection plan with its characteristics","deprecated":null,"version":null,"openapi":"/openapi.json get /quality/plans/{plan}","href":"/api-reference/inspection-plans/show-an-inspection-plan-with-its-characteristics"},{"title":"Replace an inspection plan","deprecated":null,"version":null,"openapi":"/openapi.json put /quality/plans/{plan}","href":"/api-reference/inspection-plans/replace-an-inspection-plan"},{"title":"Archive an inspection plan, so it opens no more inspections","deprecated":null,"version":null,"openapi":"/openapi.json post /quality/plans/{plan}/archive","href":"/api-reference/inspection-plans/archive-an-inspection-plan-so-it-opens-no-more-inspections"},{"title":"Restore an archived inspection plan","deprecated":null,"version":null,"openapi":"/openapi.json post /quality/plans/{plan}/restore","href":"/api-reference/inspection-plans/restore-an-archived-inspection-plan"}]},{"group":"Inspections","pages":[{"title":"List inspections, newest first","deprecated":null,"version":null,"openapi":"/openapi.json get /quality/inspections","href":"/api-reference/inspections/list-inspections-newest-first"},{"title":"Show an inspection with its characteristics and recorded results","deprecated":null,"version":null,"openapi":"/openapi.json get /quality/inspections/{inspection}","href":"/api-reference/inspections/show-an-inspection-with-its-characteristics-and-recorded-results"},{"title":"Get a download link for the photo or document recorded for a characteristic","deprecated":null,"version":null,"openapi":"/openapi.json get /quality/inspections/{inspection}/files/{characteristic}","href":"/api-reference/inspections/get-a-download-link-for-the-photo-or-document-recorded-for-a-characteristic"},{"title":"Upload the photo or document a characteristic of an open inspection asks for","deprecated":null,"version":null,"openapi":"/openapi.json post /quality/inspections/{inspection}/files/{characteristic}","href":"/api-reference/inspections/upload-the-photo-or-document-a-characteristic-of-an-open-inspection-asks-for"},{"title":"Open a reinspection of a recorded inspection","deprecated":null,"version":null,"openapi":"/openapi.json post /quality/inspections/{inspection}/reinspect","href":"/api-reference/inspections/open-a-reinspection-of-a-recorded-inspection"},{"title":"Record the results of an open inspection","deprecated":null,"version":null,"openapi":"/openapi.json post /quality/inspections/{inspection}/results","href":"/api-reference/inspections/record-the-results-of-an-open-inspection"}]}]},{"group":"Planning","pages":[{"group":"Forecasts","pages":[{"title":"List the latest forecasts","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/forecasts","href":"/api-reference/forecasts/list-the-latest-forecasts"},{"title":"Show an item's forecast at a location","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/forecasts/{item}/{location}","href":"/api-reference/forecasts/show-an-items-forecast-at-a-location"},{"title":"Show forecast accuracy","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/forecasts/accuracy","href":"/api-reference/forecasts/show-forecast-accuracy"},{"title":"Adjust the forecast","deprecated":null,"version":null,"openapi":"/openapi.json post /planning/forecasts/adjustments","href":"/api-reference/forecasts/adjust-the-forecast"},{"title":"Undo an adjustment","deprecated":null,"version":null,"openapi":"/openapi.json delete /planning/forecasts/adjustments/{adjustment}","href":"/api-reference/forecasts/undo-an-adjustment"},{"title":"List forecast exceptions","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/forecasts/exceptions","href":"/api-reference/forecasts/list-forecast-exceptions"},{"title":"Start a forecast run","deprecated":null,"version":null,"openapi":"/openapi.json post /planning/forecasts/runs","href":"/api-reference/forecasts/start-a-forecast-run"}]},{"group":"Scenarios","pages":[{"title":"List scenarios","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/scenarios","href":"/api-reference/scenarios/list-scenarios"},{"title":"Create a scenario","deprecated":null,"version":null,"openapi":"/openapi.json post /planning/scenarios","href":"/api-reference/scenarios/create-a-scenario"},{"title":"Show a scenario","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/scenarios/{scenario}","href":"/api-reference/scenarios/show-a-scenario"},{"title":"Remove a scenario","deprecated":null,"version":null,"openapi":"/openapi.json delete /planning/scenarios/{scenario}","href":"/api-reference/scenarios/remove-a-scenario"},{"title":"Find customers for a scenario","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/scenarios/customers","href":"/api-reference/scenarios/find-customers-for-a-scenario"},{"title":"Find items for a scenario","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/scenarios/items","href":"/api-reference/scenarios/find-items-for-a-scenario"}]},{"group":"Demand","pages":[{"title":"List demand by item and location","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/demand","href":"/api-reference/demand/list-demand-by-item-and-location"},{"title":"Show an item's demand at a location","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/demand/{item}/{location}","href":"/api-reference/demand/show-an-items-demand-at-a-location"},{"title":"Mark an order as not repeating","deprecated":null,"version":null,"openapi":"/openapi.json post /planning/demand/{item}/{location}/one-off","href":"/api-reference/demand/mark-an-order-as-not-repeating"},{"title":"Count a one-off order as demand again","deprecated":null,"version":null,"openapi":"/openapi.json delete /planning/demand/{item}/{location}/one-off/{reference}","href":"/api-reference/demand/count-a-one-off-order-as-demand-again"},{"title":"Leave an item's outlying weeks out of forecasts","deprecated":null,"version":null,"openapi":"/openapi.json put /planning/demand/{item}/{location}/outliers","href":"/api-reference/demand/leave-an-items-outlying-weeks-out-of-forecasts"}]},{"group":"Suggestions","pages":[{"title":"List reorder suggestions","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/suggestions","href":"/api-reference/suggestions/list-reorder-suggestions"},{"title":"Accept a suggestion","deprecated":null,"version":null,"openapi":"/openapi.json post /planning/suggestions/{suggestion}/accept","href":"/api-reference/suggestions/accept-a-suggestion"},{"title":"Dismiss a suggestion","deprecated":null,"version":null,"openapi":"/openapi.json post /planning/suggestions/{suggestion}/dismiss","href":"/api-reference/suggestions/dismiss-a-suggestion"},{"title":"Work suggestions out again","deprecated":null,"version":null,"openapi":"/openapi.json post /planning/suggestions/refresh","href":"/api-reference/suggestions/work-suggestions-out-again"}]},{"group":"Replenishment","pages":[{"title":"Show an item's replenishment at a location","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/replenishment/{item}/{location}","href":"/api-reference/replenishment/show-an-items-replenishment-at-a-location"},{"title":"Set an item's policy at a location","deprecated":null,"version":null,"openapi":"/openapi.json put /planning/replenishment/{item}/{location}/policy","href":"/api-reference/replenishment/set-an-items-policy-at-a-location"},{"title":"Remove an item's policy at a location","deprecated":null,"version":null,"openapi":"/openapi.json delete /planning/replenishment/{item}/{location}/policy","href":"/api-reference/replenishment/remove-an-items-policy-at-a-location"}]},{"group":"Holidays","pages":[{"title":"Add a holiday","deprecated":null,"version":null,"openapi":"/openapi.json post /planning/holidays","href":"/api-reference/holidays/add-a-holiday"},{"title":"Remove a holiday","deprecated":null,"version":null,"openapi":"/openapi.json delete /planning/holidays/{holiday}","href":"/api-reference/holidays/remove-a-holiday"}]},{"group":"Planning settings","pages":[{"title":"Show the Planning settings","deprecated":null,"version":null,"openapi":"/openapi.json get /planning/settings","href":"/api-reference/planning-settings/show-the-planning-settings"},{"title":"Change the Planning settings","deprecated":null,"version":null,"openapi":"/openapi.json put /planning/settings","href":"/api-reference/planning-settings/change-the-planning-settings"}]}]},{"group":"Automation","pages":[{"group":"Automations","pages":[{"title":"List automations","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/automations","href":"/api-reference/automations/list-automations"},{"title":"Start an automation","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/automations","href":"/api-reference/automations/start-an-automation"},{"title":"Show an automation","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/automations/{automation}","href":"/api-reference/automations/show-an-automation"},{"title":"Change an automation","deprecated":null,"version":null,"openapi":"/openapi.json put /automation/automations/{automation}","href":"/api-reference/automations/change-an-automation"},{"title":"Archive an automation","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/automations/{automation}/archive","href":"/api-reference/automations/archive-an-automation"},{"title":"Save an automation's draft","deprecated":null,"version":null,"openapi":"/openapi.json put /automation/automations/{automation}/draft","href":"/api-reference/automations/save-an-automations-draft"},{"title":"Publish an automation's draft","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/automations/{automation}/draft/publish","href":"/api-reference/automations/publish-an-automations-draft"},{"title":"Restore an archived automation","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/automations/{automation}/restore","href":"/api-reference/automations/restore-an-archived-automation"},{"title":"Run an automation now","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/automations/{automation}/runs","href":"/api-reference/automations/run-an-automation-now"},{"title":"Make a webhook step's signing secret","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/automations/{automation}/steps/{step}/secret","href":"/api-reference/automations/make-a-webhook-steps-signing-secret"},{"title":"Test an automation","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/automations/{automation}/test","href":"/api-reference/automations/test-an-automation"},{"title":"Show a published version","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/automations/{automation}/versions/{number}","href":"/api-reference/automations/show-a-published-version"},{"title":"Publish an earlier version again","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/automations/{automation}/versions/{number}/publish","href":"/api-reference/automations/publish-an-earlier-version-again"}]},{"group":"Runs","pages":[{"title":"List automation runs","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/runs","href":"/api-reference/runs/list-automation-runs"},{"title":"Show an automation run","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/runs/{run}","href":"/api-reference/runs/show-an-automation-run"},{"title":"Cancel an automation run","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/runs/{run}/cancel","href":"/api-reference/runs/cancel-an-automation-run"},{"title":"Replay an automation run","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/runs/{run}/replay","href":"/api-reference/runs/replay-an-automation-run"},{"title":"Retry a failed automation run","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/runs/{run}/retry","href":"/api-reference/runs/retry-a-failed-automation-run"}]},{"group":"Approvals","pages":[{"title":"List the approvals waiting for you","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/approvals","href":"/api-reference/approvals/list-the-approvals-waiting-for-you"},{"title":"Approve an automation run","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/approvals/{approval}/approve","href":"/api-reference/approvals/approve-an-automation-run"},{"title":"Reject an automation run","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/approvals/{approval}/reject","href":"/api-reference/approvals/reject-an-automation-run"}]},{"group":"Automation settings","pages":[{"title":"Show the organization's automation settings","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/settings","href":"/api-reference/automation-settings/show-the-organizations-automation-settings"},{"title":"Change the organization's automation settings","deprecated":null,"version":null,"openapi":"/openapi.json put /automation/settings","href":"/api-reference/automation-settings/change-the-organizations-automation-settings"},{"title":"Change the hosts webhook steps may call on the federal plane","deprecated":null,"version":null,"openapi":"/openapi.json put /automation/settings/webhook-hosts","href":"/api-reference/automation-settings/change-the-hosts-webhook-steps-may-call-on-the-federal-plane"}]},{"group":"Automation templates","pages":[{"title":"List the starter templates","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/templates","href":"/api-reference/automation-templates/list-the-starter-templates"},{"title":"Start an automation from a template","deprecated":null,"version":null,"openapi":"/openapi.json post /automation/templates/{template}/use","href":"/api-reference/automation-templates/start-an-automation-from-a-template"}]},{"group":"Events","pages":[{"title":"List the events an automation can wait for","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/events","href":"/api-reference/events/list-the-events-an-automation-can-wait-for"}]},{"group":"Step catalog","pages":[{"title":"List the step catalog","deprecated":null,"version":null,"openapi":"/openapi.json get /automation/steps","href":"/api-reference/step-catalog/list-the-step-catalog"}]}]},{"group":"Insights","pages":[{"group":"Views","pages":[{"title":"List saved views","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/views","href":"/api-reference/views/list-saved-views"},{"title":"Save a view","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/views/{view}","href":"/api-reference/views/save-a-view"},{"title":"Read a saved view","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/views/{view}","href":"/api-reference/views/read-a-saved-view"},{"title":"Save a view","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/views/{view}","href":"/api-reference/views/save-a-view"},{"title":"Remove a view","deprecated":null,"version":null,"openapi":"/openapi.json delete /insights/views/{view}","href":"/api-reference/views/remove-a-view"},{"title":"Add a note to a chart","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/views/{view}/annotations","href":"/api-reference/views/add-a-note-to-a-chart"},{"title":"Remove a note from a chart","deprecated":null,"version":null,"openapi":"/openapi.json delete /insights/views/{view}/annotations/{annotation}","href":"/api-reference/views/remove-a-note-from-a-chart"},{"title":"Duplicate a view","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/views/{view}/duplicate","href":"/api-reference/views/duplicate-a-view"},{"title":"Mark a favorite","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/views/{view}/favorite","href":"/api-reference/views/mark-a-favorite"},{"title":"Unmark a favorite","deprecated":null,"version":null,"openapi":"/openapi.json delete /insights/views/{view}/favorite","href":"/api-reference/views/unmark-a-favorite"},{"title":"Share a view","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/views/{view}/sharing","href":"/api-reference/views/share-a-view"},{"title":"Restore a version of a view","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/views/{view}/versions/{version}/restore","href":"/api-reference/views/restore-a-version-of-a-view"}]},{"group":"Dashboards","pages":[{"title":"List dashboards","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/dashboards","href":"/api-reference/dashboards/list-dashboards"},{"title":"Save a dashboard","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/dashboards/{dashboard}","href":"/api-reference/dashboards/save-a-dashboard"},{"title":"Read a dashboard","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/dashboards/{dashboard}","href":"/api-reference/dashboards/read-a-dashboard"},{"title":"Save a dashboard","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/dashboards/{dashboard}","href":"/api-reference/dashboards/save-a-dashboard"},{"title":"Remove a dashboard","deprecated":null,"version":null,"openapi":"/openapi.json delete /insights/dashboards/{dashboard}","href":"/api-reference/dashboards/remove-a-dashboard"},{"title":"Share a dashboard","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/dashboards/{dashboard}/sharing","href":"/api-reference/dashboards/share-a-dashboard"},{"title":"Run a dashboard widget","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/dashboards/{dashboard}/widgets/{widget}/run","href":"/api-reference/dashboards/run-a-dashboard-widget"},{"title":"Choose a home dashboard","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/dashboards/home","href":"/api-reference/dashboards/choose-a-home-dashboard"}]},{"group":"Datasets","pages":[{"title":"List the datasets","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/datasets","href":"/api-reference/datasets/list-the-datasets"},{"title":"Show a dataset","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/datasets/{dataset}","href":"/api-reference/datasets/show-a-dataset"},{"title":"Save a calculated field","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/datasets/{dataset}/calculated-fields/{field}","href":"/api-reference/datasets/save-a-calculated-field"},{"title":"Save a calculated field","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/datasets/{dataset}/calculated-fields/{field}","href":"/api-reference/datasets/save-a-calculated-field"},{"title":"Remove a calculated field","deprecated":null,"version":null,"openapi":"/openapi.json delete /insights/datasets/{dataset}/calculated-fields/{field}","href":"/api-reference/datasets/remove-a-calculated-field"}]},{"group":"Schedules","pages":[{"title":"List scheduled reports and alerts","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/schedules","href":"/api-reference/schedules/list-scheduled-reports-and-alerts"},{"title":"Save a scheduled report or an alert","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/schedules/{schedule}","href":"/api-reference/schedules/save-a-scheduled-report-or-an-alert"},{"title":"Save a scheduled report or an alert","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/schedules/{schedule}","href":"/api-reference/schedules/save-a-scheduled-report-or-an-alert"},{"title":"Remove a scheduled report or an alert","deprecated":null,"version":null,"openapi":"/openapi.json delete /insights/schedules/{schedule}","href":"/api-reference/schedules/remove-a-scheduled-report-or-an-alert"},{"title":"Pause or resume a scheduled report or an alert","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/schedules/{schedule}/pause","href":"/api-reference/schedules/pause-or-resume-a-scheduled-report-or-an-alert"}]},{"group":"KPIs","pages":[{"title":"List KPIs","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/kpis","href":"/api-reference/kpis/list-kpis"},{"title":"Save a KPI","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/kpis/{kpi}","href":"/api-reference/kpis/save-a-kpi"},{"title":"Save a KPI","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/kpis/{kpi}","href":"/api-reference/kpis/save-a-kpi"},{"title":"Remove a KPI","deprecated":null,"version":null,"openapi":"/openapi.json delete /insights/kpis/{kpi}","href":"/api-reference/kpis/remove-a-kpi"}]},{"group":"View folders","pages":[{"title":"Save a folder","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/view-folders/{folder}","href":"/api-reference/view-folders/save-a-folder"},{"title":"Save a folder","deprecated":null,"version":null,"openapi":"/openapi.json put /insights/view-folders/{folder}","href":"/api-reference/view-folders/save-a-folder"},{"title":"Remove a folder","deprecated":null,"version":null,"openapi":"/openapi.json delete /insights/view-folders/{folder}","href":"/api-reference/view-folders/remove-a-folder"}]},{"group":"Insights exports","pages":[{"title":"Export a report","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/exports","href":"/api-reference/insights-exports/export-a-report"},{"title":"Read an export","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/exports/{export}","href":"/api-reference/insights-exports/read-an-export"}]},{"group":"Report templates","pages":[{"title":"List the report templates","deprecated":null,"version":null,"openapi":"/openapi.json get /insights/templates","href":"/api-reference/report-templates/list-the-report-templates"},{"title":"Start a view from a template","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/templates/{template}/views","href":"/api-reference/report-templates/start-a-view-from-a-template"}]},{"group":"Reports","pages":[{"title":"Draw a report as a chart","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/reports/chart","href":"/api-reference/reports/draw-a-report-as-a-chart"},{"title":"Run a report","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/reports/run","href":"/api-reference/reports/run-a-report"}]},{"group":"Dashboard","pages":[{"title":"Show the dashboard","deprecated":null,"version":null,"openapi":"/openapi.json get /dashboard/overview","href":"/api-reference/dashboard/show-the-dashboard"}]},{"group":"Dashboard templates","pages":[{"title":"Start a dashboard from a template","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/dashboard-templates/{template}/dashboards","href":"/api-reference/dashboard-templates/start-a-dashboard-from-a-template"}]},{"group":"Formulas","pages":[{"title":"Check a formula","deprecated":null,"version":null,"openapi":"/openapi.json post /insights/formulas/validate","href":"/api-reference/formulas/check-a-formula"}]}]},{"group":"Integrations","pages":[{"group":"Connections","pages":[{"title":"List connections","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections","href":"/api-reference/connections/list-connections"},{"title":"Show a connection","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}","href":"/api-reference/connections/show-a-connection"},{"title":"Rename a connection","deprecated":null,"version":null,"openapi":"/openapi.json patch /integrations/connections/{connection}","href":"/api-reference/connections/rename-a-connection"},{"title":"Disconnect an integration","deprecated":null,"version":null,"openapi":"/openapi.json delete /integrations/connections/{connection}","href":"/api-reference/connections/disconnect-an-integration"},{"title":"List a 3PL connection's inbound notices","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/3pl/notices","href":"/api-reference/connections/list-a-3pl-connections-inbound-notices"},{"title":"Send an inbound notice again","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/3pl/notices/{notice}/resend","href":"/api-reference/connections/send-an-inbound-notice-again"},{"title":"List a 3PL connection's fulfillment requests","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/3pl/requests","href":"/api-reference/connections/list-a-3pl-connections-fulfillment-requests"},{"title":"Send a fulfillment request again","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/3pl/requests/{fulfillmentRequest}/resend","href":"/api-reference/connections/send-a-fulfillment-request-again"},{"title":"Show a 3PL connection's settings","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/3pl/settings","href":"/api-reference/connections/show-a-3pl-connections-settings"},{"title":"Update a 3PL connection's settings","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/3pl/settings","href":"/api-reference/connections/update-a-3pl-connections-settings"},{"title":"List a 3PL connection's stock snapshots","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/3pl/snapshots","href":"/api-reference/connections/list-a-3pl-connections-stock-snapshots"},{"title":"Compare a 3PL's stock now","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/3pl/snapshots","href":"/api-reference/connections/compare-a-3pls-stock-now"},{"title":"Move a connection to another account","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/account","href":"/api-reference/connections/move-a-connection-to-another-account"},{"title":"Preview a day's inventory value journal","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/accounting/journal-preview","href":"/api-reference/connections/preview-a-days-inventory-value-journal"},{"title":"List what an accounting connection posted","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/accounting/postings","href":"/api-reference/connections/list-what-an-accounting-connection-posted"},{"title":"Show an accounting connection's setup","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/accounting/setup","href":"/api-reference/connections/show-an-accounting-connections-setup"},{"title":"Update an accounting connection's settings","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/accounting/setup","href":"/api-reference/connections/update-an-accounting-connections-settings"},{"title":"List the accounts a connection can open","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/accounts","href":"/api-reference/connections/list-the-accounts-a-connection-can-open"},{"title":"Show an Amazon connection's FBA inventory","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/amazon/fba","href":"/api-reference/connections/show-an-amazon-connections-fba-inventory"},{"title":"List a sales channel's listings","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/channel/listings","href":"/api-reference/connections/list-a-sales-channels-listings"},{"title":"Set a listing's safety buffer","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/channel/listings/{listing}/buffer","href":"/api-reference/connections/set-a-listings-safety-buffer"},{"title":"Ignore a listing","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/channel/listings/{listing}/ignore","href":"/api-reference/connections/ignore-a-listing"},{"title":"Match a listing to an item","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/channel/listings/{listing}/match","href":"/api-reference/connections/match-a-listing-to-an-item"},{"title":"Create items from listings","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/channel/listings/items","href":"/api-reference/connections/create-items-from-listings"},{"title":"Show a sales channel's settings","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/channel/settings","href":"/api-reference/connections/show-a-sales-channels-settings"},{"title":"Update a sales channel's settings","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/channel/settings","href":"/api-reference/connections/update-a-sales-channels-settings"},{"title":"Preview a sales channel's stock","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/channel/stock","href":"/api-reference/connections/preview-a-sales-channels-stock"},{"title":"Push stock now","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/channel/stock/push","href":"/api-reference/connections/push-stock-now"},{"title":"List a chat connection's channels","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/chat-channels","href":"/api-reference/connections/list-a-chat-connections-channels"},{"title":"Choose where a chat connection posts alerts","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/chat-settings","href":"/api-reference/connections/choose-where-a-chat-connection-posts-alerts"},{"title":"Send a test message to the alert channel","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/chat-test","href":"/api-reference/connections/send-a-test-message-to-the-alert-channel"},{"title":"Resolve a sync conflict","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/conflicts/{item}","href":"/api-reference/connections/resolve-a-sync-conflict"},{"title":"Create the StockShift fields in a CRM","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/crm-fields","href":"/api-reference/connections/create-the-stockshift-fields-in-a-crm"},{"title":"Retry a failed record","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/items/{item}/retry","href":"/api-reference/connections/retry-a-failed-record"},{"title":"Skip a failed record","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/items/{item}/skip","href":"/api-reference/connections/skip-a-failed-record"},{"title":"Retry every failed record of a problem type","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/items/retry","href":"/api-reference/connections/retry-every-failed-record-of-a-problem-type"},{"title":"List a connection's links","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/links","href":"/api-reference/connections/list-a-connections-links"},{"title":"Unlink a record","deprecated":null,"version":null,"openapi":"/openapi.json delete /integrations/connections/{connection}/links/{link}","href":"/api-reference/connections/unlink-a-record"},{"title":"Show a connection's mappings","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/mappings","href":"/api-reference/connections/show-a-connections-mappings"},{"title":"Save a connection's mappings of one kind","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/mappings/{kind}","href":"/api-reference/connections/save-a-connections-mappings-of-one-kind"},{"title":"Suggest mappings","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/mappings/{kind}/suggest","href":"/api-reference/connections/suggest-mappings"},{"title":"Show a connection's overview","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/overview","href":"/api-reference/connections/show-a-connections-overview"},{"title":"Pause a connection","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/pause","href":"/api-reference/connections/pause-a-connection"},{"title":"List a connection's sync problems","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/problems","href":"/api-reference/connections/list-a-connections-sync-problems"},{"title":"List a connection's calls to its vendor","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/requests","href":"/api-reference/connections/list-a-connections-calls-to-its-vendor"},{"title":"Show one call to the vendor with its bodies","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/requests/{log}","href":"/api-reference/connections/show-one-call-to-the-vendor-with-its-bodies"},{"title":"Resume a paused connection","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/resume","href":"/api-reference/connections/resume-a-paused-connection"},{"title":"List a connection's sync runs","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/runs","href":"/api-reference/connections/list-a-connections-sync-runs"},{"title":"Show a sync run","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/runs/{run}","href":"/api-reference/connections/show-a-sync-run"},{"title":"Cancel a sync run","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/runs/{run}/cancel","href":"/api-reference/connections/cancel-a-sync-run"},{"title":"Change a connection's settings","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/settings","href":"/api-reference/connections/change-a-connections-settings"},{"title":"List a connection's streams","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/streams","href":"/api-reference/connections/list-a-connections-streams"},{"title":"Set how often a stream syncs","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/connections/{connection}/streams/{stream}","href":"/api-reference/connections/set-how-often-a-stream-syncs"},{"title":"Sync a stream again from a date","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/streams/{stream}/backfill","href":"/api-reference/connections/sync-a-stream-again-from-a-date"},{"title":"Pause a stream","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/streams/{stream}/pause","href":"/api-reference/connections/pause-a-stream"},{"title":"Resume a paused stream","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/streams/{stream}/resume","href":"/api-reference/connections/resume-a-paused-stream"},{"title":"Sync a stream now","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/streams/{stream}/sync","href":"/api-reference/connections/sync-a-stream-now"},{"title":"List a connection's webhooks","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connections/{connection}/webhooks","href":"/api-reference/connections/list-a-connections-webhooks"},{"title":"Process a stored webhook again","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{connection}/webhooks/{receipt}/replay","href":"/api-reference/connections/process-a-stored-webhook-again"},{"title":"Connect an integration with a key","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{vendor}/api-key","href":"/api-reference/connections/connect-an-integration-with-a-key"},{"title":"Start an OAuth connection","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/connections/{vendor}/oauth","href":"/api-reference/connections/start-an-oauth-connection"}]},{"group":"Shipping","pages":[{"title":"Validate a shipping address","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/shipping/addresses/validate","href":"/api-reference/shipping/validate-a-shipping-address"},{"title":"Buy shipping labels","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/shipping/labels","href":"/api-reference/shipping/buy-shipping-labels"},{"title":"Void a shipping label","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/shipping/labels/{label}/void","href":"/api-reference/shipping/void-a-shipping-label"},{"title":"Show an order's shipping","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/shipping/orders/{order}","href":"/api-reference/shipping/show-an-orders-shipping"},{"title":"List package presets","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/shipping/presets","href":"/api-reference/shipping/list-package-presets"},{"title":"Create a package preset","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/shipping/presets","href":"/api-reference/shipping/create-a-package-preset"},{"title":"Update a package preset","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/shipping/presets/{preset}","href":"/api-reference/shipping/update-a-package-preset"},{"title":"Delete a package preset","deprecated":null,"version":null,"openapi":"/openapi.json delete /integrations/shipping/presets/{preset}","href":"/api-reference/shipping/delete-a-package-preset"},{"title":"Quote shipping rates","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/shipping/rates","href":"/api-reference/shipping/quote-shipping-rates"},{"title":"Buy a return label","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/shipping/return-labels","href":"/api-reference/shipping/buy-a-return-label"},{"title":"Show the shipping settings","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/shipping/settings","href":"/api-reference/shipping/show-the-shipping-settings"},{"title":"Update the shipping settings","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/shipping/settings","href":"/api-reference/shipping/update-the-shipping-settings"}]},{"group":"Sourcing","pages":[{"title":"Price a BOM revision at the distributors","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/sourcing/boms/{revision}","href":"/api-reference/sourcing/price-a-bom-revision-at-the-distributors"},{"title":"Show a distributor connection's linked items","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/sourcing/connections/{connection}","href":"/api-reference/sourcing/show-a-distributor-connections-linked-items"},{"title":"Link an item to a distributor part","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/sourcing/connections/{connection}/links","href":"/api-reference/sourcing/link-an-item-to-a-distributor-part"},{"title":"Unlink an item from a distributor part","deprecated":null,"version":null,"openapi":"/openapi.json delete /integrations/sourcing/connections/{connection}/links/{item}","href":"/api-reference/sourcing/unlink-an-item-from-a-distributor-part"},{"title":"Search a distributor for a part","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/sourcing/connections/{connection}/parts","href":"/api-reference/sourcing/search-a-distributor-for-a-part"}]},{"group":"Tax addresses","pages":[{"title":"List tax addresses","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/tax/addresses","href":"/api-reference/tax-addresses/list-tax-addresses"},{"title":"Save a tax address","deprecated":null,"version":null,"openapi":"/openapi.json put /integrations/tax/addresses","href":"/api-reference/tax-addresses/save-a-tax-address"},{"title":"Resolve a tax address","deprecated":null,"version":null,"openapi":"/openapi.json post /integrations/tax/addresses/resolve","href":"/api-reference/tax-addresses/resolve-a-tax-address"}]},{"group":"Connectors","pages":[{"title":"Show what it takes to connect an integration","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/connectors/{vendor}","href":"/api-reference/connectors/show-what-it-takes-to-connect-an-integration"},{"title":"Show the integration directory","deprecated":null,"version":null,"openapi":"/openapi.json get /integrations/directory","href":"/api-reference/connectors/show-the-integration-directory"}]}]},{"group":"Labels","pages":[{"group":"Label sets","pages":[{"title":"Print labels for a list of stock on hand","deprecated":null,"version":null,"openapi":"/openapi.json post /inventory/label-sets","href":"/api-reference/label-sets/print-labels-for-a-list-of-stock-on-hand"},{"title":"List label sets","deprecated":null,"version":null,"openapi":"/openapi.json get /labels/sets","href":"/api-reference/label-sets/list-label-sets"},{"title":"Show a label set","deprecated":null,"version":null,"openapi":"/openapi.json get /labels/sets/{set}","href":"/api-reference/label-sets/show-a-label-set"},{"title":"Preview a piece's label as SVG","deprecated":null,"version":null,"openapi":"/openapi.json get /labels/sets/{set}/pieces/{number}/preview","href":"/api-reference/label-sets/preview-a-pieces-label-as-svg"},{"title":"Reprint labels as a PDF","deprecated":null,"version":null,"openapi":"/openapi.json post /labels/sets/{set}/reprints","href":"/api-reference/label-sets/reprint-labels-as-a-pdf"}]},{"group":"Label templates","pages":[{"title":"List the label templates","deprecated":null,"version":null,"openapi":"/openapi.json get /labels/templates","href":"/api-reference/label-templates/list-the-label-templates"},{"title":"Change a label template","deprecated":null,"version":null,"openapi":"/openapi.json put /labels/templates/{source}","href":"/api-reference/label-templates/change-a-label-template"},{"title":"Preview a label template as SVG","deprecated":null,"version":null,"openapi":"/openapi.json post /labels/templates/{source}/preview","href":"/api-reference/label-templates/preview-a-label-template-as-svg"}]},{"group":"Pieces","pages":[{"title":"Show a piece by its piece ID","deprecated":null,"version":null,"openapi":"/openapi.json get /labels/pieces/{code}","href":"/api-reference/pieces/show-a-piece-by-its-piece-id"}]}]},{"group":"Documents","pages":[{"group":"Branding and templates","pages":[{"title":"Show the document branding and templates","deprecated":null,"version":null,"openapi":"/openapi.json get /documents","href":"/api-reference/branding-and-templates/show-the-document-branding-and-templates"},{"title":"Change the document branding","deprecated":null,"version":null,"openapi":"/openapi.json post /documents/branding","href":"/api-reference/branding-and-templates/change-the-document-branding"},{"title":"Download a sent document","deprecated":null,"version":null,"openapi":"/openapi.json get /documents/sent/{sent}","href":"/api-reference/branding-and-templates/download-a-sent-document"},{"title":"Create a document template","deprecated":null,"version":null,"openapi":"/openapi.json post /documents/templates","href":"/api-reference/branding-and-templates/create-a-document-template"},{"title":"Change a document template","deprecated":null,"version":null,"openapi":"/openapi.json put /documents/templates/{template}","href":"/api-reference/branding-and-templates/change-a-document-template"},{"title":"Archive a document template","deprecated":null,"version":null,"openapi":"/openapi.json delete /documents/templates/{template}","href":"/api-reference/branding-and-templates/archive-a-document-template"}]}]},{"group":"Devices","pages":[{"group":"Mobile apps","pages":[{"title":"Ask where a device stands","deprecated":null,"version":null,"openapi":"/openapi.json get /apps/device","href":"/api-reference/mobile-apps/ask-where-a-device-stands"},{"title":"Enroll a shared device or kiosk","deprecated":null,"version":null,"openapi":"/openapi.json post /apps/enroll","href":"/api-reference/mobile-apps/enroll-a-shared-device-or-kiosk"},{"title":"Report that a device locked a member out of signing","deprecated":null,"version":null,"openapi":"/openapi.json post /apps/pin-locks","href":"/api-reference/mobile-apps/report-that-a-device-locked-a-member-out-of-signing"},{"title":"Register the calling app's push token","deprecated":null,"version":null,"openapi":"/openapi.json put /apps/push-token","href":"/api-reference/mobile-apps/register-the-calling-apps-push-token"},{"title":"Remove the calling app's push token","deprecated":null,"version":null,"openapi":"/openapi.json delete /apps/push-token","href":"/api-reference/mobile-apps/remove-the-calling-apps-push-token"},{"title":"Sign the calling app out","deprecated":null,"version":null,"openapi":"/openapi.json post /apps/revoke","href":"/api-reference/mobile-apps/sign-the-calling-app-out"},{"title":"List the apps the member is signed in on","deprecated":null,"version":null,"openapi":"/openapi.json get /apps/sessions","href":"/api-reference/mobile-apps/list-the-apps-the-member-is-signed-in-on"},{"title":"Sign one of the member's apps out","deprecated":null,"version":null,"openapi":"/openapi.json delete /apps/sessions/{session}","href":"/api-reference/mobile-apps/sign-one-of-the-members-apps-out"},{"title":"Sign with a PIN on a device","deprecated":null,"version":null,"openapi":"/openapi.json post /apps/signatures","href":"/api-reference/mobile-apps/sign-with-a-pin-on-a-device"},{"title":"Exchange a signing code","deprecated":null,"version":null,"openapi":"/openapi.json post /apps/signatures/exchange","href":"/api-reference/mobile-apps/exchange-a-signing-code"},{"title":"Sign an app in, or refresh its session","deprecated":null,"version":null,"openapi":"/openapi.json post /apps/token","href":"/api-reference/mobile-apps/sign-an-app-in-or-refresh-its-session"},{"title":"Ask which app versions the API serves","deprecated":null,"version":null,"openapi":"/openapi.json get /apps/version-policy","href":"/api-reference/mobile-apps/ask-which-app-versions-the-api-serves"},{"title":"Report that a device erased itself","deprecated":null,"version":null,"openapi":"/openapi.json post /apps/wipe-receipts","href":"/api-reference/mobile-apps/report-that-a-device-erased-itself"}]},{"group":"Devices","pages":[{"title":"List devices","deprecated":null,"version":null,"openapi":"/openapi.json get /devices","href":"/api-reference/devices/list-devices"},{"title":"Show a device","deprecated":null,"version":null,"openapi":"/openapi.json get /devices/{device}","href":"/api-reference/devices/show-a-device"},{"title":"Rename a device, or set where it works","deprecated":null,"version":null,"openapi":"/openapi.json patch /devices/{device}","href":"/api-reference/devices/rename-a-device-or-set-where-it-works"},{"title":"Lock a device","deprecated":null,"version":null,"openapi":"/openapi.json post /devices/{device}/lock","href":"/api-reference/devices/lock-a-device"},{"title":"Make a shared device forget a member","deprecated":null,"version":null,"openapi":"/openapi.json post /devices/{device}/members/{member}/forget","href":"/api-reference/devices/make-a-shared-device-forget-a-member"},{"title":"Retire a device","deprecated":null,"version":null,"openapi":"/openapi.json post /devices/{device}/retire","href":"/api-reference/devices/retire-a-device"},{"title":"Unlock a device","deprecated":null,"version":null,"openapi":"/openapi.json post /devices/{device}/unlock","href":"/api-reference/devices/unlock-a-device"},{"title":"Wipe a device","deprecated":null,"version":null,"openapi":"/openapi.json post /devices/{device}/wipe","href":"/api-reference/devices/wipe-a-device"},{"title":"Close a wipe","deprecated":null,"version":null,"openapi":"/openapi.json post /devices/{device}/wipe/close","href":"/api-reference/devices/close-a-wipe"}]},{"group":"Scanner setup","pages":[{"title":"Get your scanner preferences","deprecated":null,"version":null,"openapi":"/openapi.json get /me/scanner-preferences","href":"/api-reference/scanner-setup/get-your-scanner-preferences"},{"title":"Change how the person's keyboard-wedge scanner is read","deprecated":null,"version":null,"openapi":"/openapi.json put /me/scanner-preferences","href":"/api-reference/scanner-setup/change-how-the-persons-keyboard-wedge-scanner-is-read"},{"title":"Show the setup barcodes of a scanner","deprecated":null,"version":null,"openapi":"/openapi.json get /scanning/setup-sheets/{brand}/{family}","href":"/api-reference/scanner-setup/show-the-setup-barcodes-of-a-scanner"}]},{"group":"Enrollments","pages":[{"title":"Make an enrollment code","deprecated":null,"version":null,"openapi":"/openapi.json post /devices/enrollments","href":"/api-reference/enrollments/make-an-enrollment-code"},{"title":"Revoke an enrollment code","deprecated":null,"version":null,"openapi":"/openapi.json post /devices/enrollments/{enrollment}/revoke","href":"/api-reference/enrollments/revoke-an-enrollment-code"}]}]},{"group":"Sync","pages":[{"group":"Sync feeds","pages":[{"title":"List sync feeds","deprecated":null,"version":null,"openapi":"/openapi.json get /sync/feeds","href":"/api-reference/sync-feeds/list-sync-feeds"},{"title":"Pull a feed's changes","deprecated":null,"version":null,"openapi":"/openapi.json get /sync/feeds/{feed}/changes","href":"/api-reference/sync-feeds/pull-a-feeds-changes"},{"title":"Download a feed's snapshot","deprecated":null,"version":null,"openapi":"/openapi.json get /sync/feeds/{feed}/snapshot","href":"/api-reference/sync-feeds/download-a-feeds-snapshot"},{"title":"Ask what a polling device has to do","deprecated":null,"version":null,"openapi":"/openapi.json get /sync/pending","href":"/api-reference/sync-feeds/ask-what-a-polling-device-has-to-do"}]},{"group":"Sync commands","pages":[{"title":"Send offline commands","deprecated":null,"version":null,"openapi":"/openapi.json post /sync/commands","href":"/api-reference/sync-commands/send-offline-commands"},{"title":"Show the stored outcome of one command","deprecated":null,"version":null,"openapi":"/openapi.json get /sync/commands/{id}","href":"/api-reference/sync-commands/show-the-stored-outcome-of-one-command"}]},{"group":"Sync files","pages":[{"title":"Download a file a feed refers to","deprecated":null,"version":null,"openapi":"/openapi.json get /sync/files/{file}","href":"/api-reference/sync-files/download-a-file-a-feed-refers-to"}]}]},{"group":"Access","pages":[{"group":"Profile","pages":[{"title":"Get your profile","deprecated":null,"version":null,"openapi":"/openapi.json get /access/profile","href":"/api-reference/profile/get-your-profile"},{"title":"Update your profile","deprecated":null,"version":null,"openapi":"/openapi.json patch /access/profile","href":"/api-reference/profile/update-your-profile"},{"title":"Erase the account the token belongs to","deprecated":null,"version":null,"openapi":"/openapi.json post /access/profile/erasure","href":"/api-reference/profile/erase-the-account-the-token-belongs-to"},{"title":"Set your language","deprecated":null,"version":null,"openapi":"/openapi.json put /access/profile/locale","href":"/api-reference/profile/set-your-language"},{"title":"Start setting up an authenticator","deprecated":null,"version":null,"openapi":"/openapi.json post /access/profile/mfa","href":"/api-reference/profile/start-setting-up-an-authenticator"},{"title":"Remove the second factor","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/profile/mfa","href":"/api-reference/profile/remove-the-second-factor"},{"title":"Confirm the authenticator","deprecated":null,"version":null,"openapi":"/openapi.json post /access/profile/mfa/confirmation","href":"/api-reference/profile/confirm-the-authenticator"},{"title":"Replace the recovery codes","deprecated":null,"version":null,"openapi":"/openapi.json post /access/profile/mfa/recovery-codes","href":"/api-reference/profile/replace-the-recovery-codes"},{"title":"List your passkeys","deprecated":null,"version":null,"openapi":"/openapi.json get /access/profile/passkeys","href":"/api-reference/profile/list-your-passkeys"},{"title":"Add a passkey","deprecated":null,"version":null,"openapi":"/openapi.json post /access/profile/passkeys","href":"/api-reference/profile/add-a-passkey"},{"title":"Remove a passkey. It stops signing anyone in at once","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/profile/passkeys/{passkey}","href":"/api-reference/profile/remove-a-passkey-it-stops-signing-anyone-in-at-once"},{"title":"Report a security key lost","deprecated":null,"version":null,"openapi":"/openapi.json post /access/profile/passkeys/{passkey}/lost","href":"/api-reference/profile/report-a-security-key-lost"},{"title":"Start adding a passkey","deprecated":null,"version":null,"openapi":"/openapi.json post /access/profile/passkeys/options","href":"/api-reference/profile/start-adding-a-passkey"},{"title":"Change your password","deprecated":null,"version":null,"openapi":"/openapi.json put /access/profile/password","href":"/api-reference/profile/change-your-password"},{"title":"List the browsers you are signed in on","deprecated":null,"version":null,"openapi":"/openapi.json get /access/profile/sessions","href":"/api-reference/profile/list-the-browsers-you-are-signed-in-on"},{"title":"Sign out of every browser","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/profile/sessions","href":"/api-reference/profile/sign-out-of-every-browser"}]},{"group":"Notifications","pages":[{"title":"List your notifications","deprecated":null,"version":null,"openapi":"/openapi.json get /notifications","href":"/api-reference/notifications/list-your-notifications"},{"title":"Mark a notification read","deprecated":null,"version":null,"openapi":"/openapi.json post /notifications/{notification}/read","href":"/api-reference/notifications/mark-a-notification-read"},{"title":"Change the organization's notification defaults","deprecated":null,"version":null,"openapi":"/openapi.json put /notifications/defaults","href":"/api-reference/notifications/change-the-organizations-notification-defaults"},{"title":"Show your notification preferences","deprecated":null,"version":null,"openapi":"/openapi.json get /notifications/preferences","href":"/api-reference/notifications/show-your-notification-preferences"},{"title":"Change your notification preferences","deprecated":null,"version":null,"openapi":"/openapi.json put /notifications/preferences","href":"/api-reference/notifications/change-your-notification-preferences"},{"title":"Mark all your notifications read","deprecated":null,"version":null,"openapi":"/openapi.json post /notifications/read","href":"/api-reference/notifications/mark-all-your-notifications-read"},{"title":"Count your unread notifications","deprecated":null,"version":null,"openapi":"/openapi.json get /notifications/unread-count","href":"/api-reference/notifications/count-your-unread-notifications"}]},{"group":"Invitations","pages":[{"title":"List the organization's pending invitations and the roles a new member may be given","deprecated":null,"version":null,"openapi":"/openapi.json get /access/invitations","href":"/api-reference/invitations/list-the-organizations-pending-invitations-and-the-roles-a-new-member-may-be-given"},{"title":"Invite someone to the organization by email","deprecated":null,"version":null,"openapi":"/openapi.json post /access/invitations","href":"/api-reference/invitations/invite-someone-to-the-organization-by-email"},{"title":"Revoke a pending invitation. Its link stops working at once","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/invitations/{invitation}","href":"/api-reference/invitations/revoke-a-pending-invitation-its-link-stops-working-at-once"},{"title":"Accept an invitation sent to your email address","deprecated":null,"version":null,"openapi":"/openapi.json post /access/invitations/accept","href":"/api-reference/invitations/accept-an-invitation-sent-to-your-email-address"},{"title":"Look up an invitation by the token from its email","deprecated":null,"version":null,"openapi":"/openapi.json get /invitations/{token}","href":"/api-reference/invitations/look-up-an-invitation-by-the-token-from-its-email"},{"title":"Sign up through an invitation and join its organization","deprecated":null,"version":null,"openapi":"/openapi.json post /invitations/registrations","href":"/api-reference/invitations/sign-up-through-an-invitation-and-join-its-organization"}]},{"group":"Roles","pages":[{"title":"List the organization's roles","deprecated":null,"version":null,"openapi":"/openapi.json get /access/roles","href":"/api-reference/roles/list-the-organizations-roles"},{"title":"Create a custom role","deprecated":null,"version":null,"openapi":"/openapi.json post /access/roles","href":"/api-reference/roles/create-a-custom-role"},{"title":"Rename a custom role or change what it holds","deprecated":null,"version":null,"openapi":"/openapi.json put /access/roles/{role}","href":"/api-reference/roles/rename-a-custom-role-or-change-what-it-holds"},{"title":"Delete a custom role","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/roles/{role}","href":"/api-reference/roles/delete-a-custom-role"},{"title":"List the permissions a custom role may hold","deprecated":null,"version":null,"openapi":"/openapi.json get /access/roles/permissions","href":"/api-reference/roles/list-the-permissions-a-custom-role-may-hold"}]},{"group":"Staff access","pages":[{"title":"List the access staff asked the organization for, newest first","deprecated":null,"version":null,"openapi":"/openapi.json get /access/staff-access","href":"/api-reference/staff-access/list-the-access-staff-asked-the-organization-for-newest-first"},{"title":"Revoke a staff member's access. It ends at once","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/staff-access/{grant}","href":"/api-reference/staff-access/revoke-a-staff-members-access-it-ends-at-once"},{"title":"Approve a staff member's access. It is live at once, for the hours they asked, and ends on its own","deprecated":null,"version":null,"openapi":"/openapi.json post /access/staff-access/{grant}/approval","href":"/api-reference/staff-access/approve-a-staff-members-access-it-is-live-at-once-for-the-hours-they-asked-and-ends-on-its-own"},{"title":"Deny a staff member's access","deprecated":null,"version":null,"openapi":"/openapi.json post /access/staff-access/{grant}/denial","href":"/api-reference/staff-access/deny-a-staff-members-access"}]},{"group":"Team","pages":[{"title":"List the organization's members","deprecated":null,"version":null,"openapi":"/openapi.json get /access/team","href":"/api-reference/team/list-the-organizations-members"},{"title":"Erase a member and their personal data","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/team/{user}","href":"/api-reference/team/erase-a-member-and-their-personal-data"},{"title":"Remove a member from the organization","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/team/{user}/membership","href":"/api-reference/team/remove-a-member-from-the-organization"},{"title":"Give a member another role","deprecated":null,"version":null,"openapi":"/openapi.json put /access/team/{user}/role","href":"/api-reference/team/give-a-member-another-role"}]},{"group":"API keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi.json get /access/api-keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Create an API key","deprecated":null,"version":null,"openapi":"/openapi.json post /access/api-keys","href":"/api-reference/api-keys/create-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/openapi.json delete /access/api-keys/{apiKey}","href":"/api-reference/api-keys/revoke-an-api-key"}]},{"group":"Organizations","pages":[{"title":"List the organizations you belong to","deprecated":null,"version":null,"openapi":"/openapi.json get /access/organizations","href":"/api-reference/organizations/list-the-organizations-you-belong-to"},{"title":"Start another organization that you own","deprecated":null,"version":null,"openapi":"/openapi.json post /access/organizations","href":"/api-reference/organizations/start-another-organization-that-you-own"},{"title":"Choose the organization the web app opens in","deprecated":null,"version":null,"openapi":"/openapi.json put /access/organizations/current","href":"/api-reference/organizations/choose-the-organization-the-web-app-opens-in"}]},{"group":"Signatures","pages":[{"title":"Sign","deprecated":null,"version":null,"openapi":"/openapi.json post /access/signatures","href":"/api-reference/signatures/sign"},{"title":"Start a signature","deprecated":null,"version":null,"openapi":"/openapi.json post /access/signatures/start","href":"/api-reference/signatures/start-a-signature"}]},{"group":"Registration","pages":[{"title":"Sign up a new organization and its owner, and start a trial","deprecated":null,"version":null,"openapi":"/openapi.json post /registrations","href":"/api-reference/registration/sign-up-a-new-organization-and-its-owner-and-start-a-trial"}]}]},{"group":"Organization","pages":[{"group":"Organization","pages":[{"title":"Show the destruction schedule","deprecated":null,"version":null,"openapi":"/openapi.json get /organization/destruction","href":"/api-reference/organization/show-the-destruction-schedule"},{"title":"Schedule the organization for destruction","deprecated":null,"version":null,"openapi":"/openapi.json post /organization/destruction","href":"/api-reference/organization/schedule-the-organization-for-destruction"},{"title":"Cancel the destruction","deprecated":null,"version":null,"openapi":"/openapi.json delete /organization/destruction","href":"/api-reference/organization/cancel-the-destruction"},{"title":"Place a legal hold","deprecated":null,"version":null,"openapi":"/openapi.json post /organization/legal-hold","href":"/api-reference/organization/place-a-legal-hold"},{"title":"Release the legal hold","deprecated":null,"version":null,"openapi":"/openapi.json delete /organization/legal-hold","href":"/api-reference/organization/release-the-legal-hold"},{"title":"Show the legal hold and audit retention","deprecated":null,"version":null,"openapi":"/openapi.json get /organization/retention","href":"/api-reference/organization/show-the-legal-hold-and-audit-retention"},{"title":"Choose the audit retention","deprecated":null,"version":null,"openapi":"/openapi.json put /organization/retention","href":"/api-reference/organization/choose-the-audit-retention"},{"title":"Show which security keys sign","deprecated":null,"version":null,"openapi":"/openapi.json get /organization/security-key-policy","href":"/api-reference/organization/show-which-security-keys-sign"},{"title":"Choose which security keys sign","deprecated":null,"version":null,"openapi":"/openapi.json put /organization/security-key-policy","href":"/api-reference/organization/choose-which-security-keys-sign"},{"title":"Show the session limits","deprecated":null,"version":null,"openapi":"/openapi.json get /organization/session-policy","href":"/api-reference/organization/show-the-session-limits"},{"title":"Shorten the session limits","deprecated":null,"version":null,"openapi":"/openapi.json put /organization/session-policy","href":"/api-reference/organization/shorten-the-session-limits"}]},{"group":"Address","pages":[{"title":"Show the billing address","deprecated":null,"version":null,"openapi":"/openapi.json get /address/billing-address","href":"/api-reference/address/show-the-billing-address"},{"title":"Replace the billing address","deprecated":null,"version":null,"openapi":"/openapi.json put /address/billing-address","href":"/api-reference/address/replace-the-billing-address"}]},{"group":"History","pages":[{"title":"The field history of one of the organization's records, newest first","deprecated":null,"version":null,"openapi":"/openapi.json get /history/{type}/{id}","href":"/api-reference/history/the-field-history-of-one-of-the-organizations-records-newest-first"},{"title":"The field history of one of the organization's records, newest first","deprecated":null,"version":null,"openapi":"/openapi.json get /history/{type}/{id}","href":"/api-reference/history/the-field-history-of-one-of-the-organizations-records-newest-first"}]},{"group":"Destruction certificates","pages":[{"title":"A destruction certificate, found by the id sent to whoever asked for the\ndestruction. Needs no token: the requester may no longer exist","deprecated":null,"version":null,"openapi":"/openapi.json get /destruction-certificates/{certificate}","href":"/api-reference/destruction-certificates/a-destruction-certificate-found-by-the-id-sent-to-whoever-asked-for-thedestruction-needs-no-token:-the-requester-may-no-longer-exist"}]}]},{"group":"Billing","pages":[{"group":"Billing","pages":[{"title":"List invoices","deprecated":null,"version":null,"openapi":"/openapi.json get /billing/invoices","href":"/api-reference/billing/list-invoices"},{"title":"Show the billing overview","deprecated":null,"version":null,"openapi":"/openapi.json get /billing/overview","href":"/api-reference/billing/show-the-billing-overview"},{"title":"Replace the payment method","deprecated":null,"version":null,"openapi":"/openapi.json put /billing/payment-method","href":"/api-reference/billing/replace-the-payment-method"},{"title":"Schedule a downgrade","deprecated":null,"version":null,"openapi":"/openapi.json post /billing/plan/downgrade","href":"/api-reference/billing/schedule-a-downgrade"},{"title":"Cancel the scheduled downgrade","deprecated":null,"version":null,"openapi":"/openapi.json delete /billing/plan/downgrade","href":"/api-reference/billing/cancel-the-scheduled-downgrade"},{"title":"Upgrade the plan","deprecated":null,"version":null,"openapi":"/openapi.json post /billing/plan/upgrade","href":"/api-reference/billing/upgrade-the-plan"},{"title":"List the plans","deprecated":null,"version":null,"openapi":"/openapi.json get /billing/plans","href":"/api-reference/billing/list-the-plans"},{"title":"Buy a run pack","deprecated":null,"version":null,"openapi":"/openapi.json post /billing/run-packs","href":"/api-reference/billing/buy-a-run-pack"},{"title":"Remove a run pack","deprecated":null,"version":null,"openapi":"/openapi.json delete /billing/run-packs","href":"/api-reference/billing/remove-a-run-pack"},{"title":"Change automatic run packs","deprecated":null,"version":null,"openapi":"/openapi.json put /billing/run-packs/settings","href":"/api-reference/billing/change-automatic-run-packs"},{"title":"Start adding a card","deprecated":null,"version":null,"openapi":"/openapi.json post /billing/setup-intents","href":"/api-reference/billing/start-adding-a-card"}]}]},{"group":"Developer","pages":[{"group":"Webhooks","pages":[{"title":"List webhook endpoints","deprecated":null,"version":null,"openapi":"/openapi.json get /developer/webhooks","href":"/api-reference/webhooks/list-webhook-endpoints"},{"title":"Create a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /developer/webhooks","href":"/api-reference/webhooks/create-a-webhook-endpoint"},{"title":"Get a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json get /developer/webhooks/{endpoint}","href":"/api-reference/webhooks/get-a-webhook-endpoint"},{"title":"Update a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json put /developer/webhooks/{endpoint}","href":"/api-reference/webhooks/update-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json delete /developer/webhooks/{endpoint}","href":"/api-reference/webhooks/delete-a-webhook-endpoint"},{"title":"Retry a webhook delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /developer/webhooks/{endpoint}/deliveries/{delivery}/retry","href":"/api-reference/webhooks/retry-a-webhook-delivery"},{"title":"Ping a webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.json post /developer/webhooks/{endpoint}/ping","href":"/api-reference/webhooks/ping-a-webhook-endpoint"},{"title":"Rotate a webhook signing secret","deprecated":null,"version":null,"openapi":"/openapi.json post /developer/webhooks/{endpoint}/rotate","href":"/api-reference/webhooks/rotate-a-webhook-signing-secret"}]},{"group":"OAuth apps","pages":[{"title":"List connected apps","deprecated":null,"version":null,"openapi":"/openapi.json get /developer/apps","href":"/api-reference/oauth-apps/list-connected-apps"},{"title":"Revoke a connected app","deprecated":null,"version":null,"openapi":"/openapi.json delete /developer/apps/{grant}","href":"/api-reference/oauth-apps/revoke-a-connected-app"}]},{"group":"REST hooks","pages":[{"title":"Subscribe a REST hook","deprecated":null,"version":null,"openapi":"/openapi.json post /developer/hooks","href":"/api-reference/rest-hooks/subscribe-a-rest-hook"},{"title":"Unsubscribe a REST hook","deprecated":null,"version":null,"openapi":"/openapi.json delete /developer/hooks/{hook}","href":"/api-reference/rest-hooks/unsubscribe-a-rest-hook"}]},{"group":"MCP server","pages":[{"title":"Call the MCP server","deprecated":null,"version":null,"openapi":"/openapi.json post /mcp","href":"/api-reference/mcp-server/call-the-mcp-server"}]},{"group":"Recent events","pages":[{"title":"List recent events","deprecated":null,"version":null,"openapi":"/openapi.json get /developer/events","href":"/api-reference/recent-events/list-recent-events"}]},{"group":"Webhook events","pages":[{"title":"List webhook events","deprecated":null,"version":null,"openapi":"/openapi.json get /developer/webhook-events","href":"/api-reference/webhook-events/list-webhook-events"}]}]},{"group":"Webhook events","pages":[{"title":"Webhook events","sidebarTitle":"About events","icon":"webhook","href":"/api-reference/webhook-events"},{"title":"Automationapprovalrequested","version":null,"deprecated":null,"openapi":"/openapi.json webhook automation.approval.requested","href":"/api-reference/automationapprovalrequested"},{"title":"Automationrunfailed","version":null,"deprecated":null,"openapi":"/openapi.json webhook automation.run.failed","href":"/api-reference/automationrunfailed"},{"title":"Catalogitemarchived","version":null,"deprecated":null,"openapi":"/openapi.json webhook catalog.item.archived","href":"/api-reference/catalogitemarchived"},{"title":"Catalogitemcreated","version":null,"deprecated":null,"openapi":"/openapi.json webhook catalog.item.created","href":"/api-reference/catalogitemcreated"},{"title":"Catalogitemrestored","version":null,"deprecated":null,"openapi":"/openapi.json webhook catalog.item.restored","href":"/api-reference/catalogitemrestored"},{"title":"Catalogitemupdated","version":null,"deprecated":null,"openapi":"/openapi.json webhook catalog.item.updated","href":"/api-reference/catalogitemupdated"},{"title":"Catalogvariantsgenerated","version":null,"deprecated":null,"openapi":"/openapi.json webhook catalog.variants.generated","href":"/api-reference/catalogvariantsgenerated"},{"title":"Engineeringbomchanged","version":null,"deprecated":null,"openapi":"/openapi.json webhook engineering.bom.changed","href":"/api-reference/engineeringbomchanged"},{"title":"Engineeringbomreleased","version":null,"deprecated":null,"openapi":"/openapi.json webhook engineering.bom.released","href":"/api-reference/engineeringbomreleased"},{"title":"Engineeringecoapproved","version":null,"deprecated":null,"openapi":"/openapi.json webhook engineering.eco.approved","href":"/api-reference/engineeringecoapproved"},{"title":"Engineeringecoimplemented","version":null,"deprecated":null,"openapi":"/openapi.json webhook engineering.eco.implemented","href":"/api-reference/engineeringecoimplemented"},{"title":"Insightsexportready","version":null,"deprecated":null,"openapi":"/openapi.json webhook insights.export.ready","href":"/api-reference/insightsexportready"},{"title":"Insightskpithreshold crossed","version":null,"deprecated":null,"openapi":"/openapi.json webhook insights.kpi.threshold-crossed","href":"/api-reference/insightskpithreshold-crossed"},{"title":"Integrationsconnectionconnected","version":null,"deprecated":null,"openapi":"/openapi.json webhook integrations.connection.connected","href":"/api-reference/integrationsconnectionconnected"},{"title":"Integrationsconnectiondisconnected","version":null,"deprecated":null,"openapi":"/openapi.json webhook integrations.connection.disconnected","href":"/api-reference/integrationsconnectiondisconnected"},{"title":"Integrationsconnectionneeds attention","version":null,"deprecated":null,"openapi":"/openapi.json webhook integrations.connection.needs_attention","href":"/api-reference/integrationsconnectionneeds_attention"},{"title":"Integrationsorderimported","version":null,"deprecated":null,"openapi":"/openapi.json webhook integrations.order.imported","href":"/api-reference/integrationsorderimported"},{"title":"Integrationssyncfailed","version":null,"deprecated":null,"openapi":"/openapi.json webhook integrations.sync.failed","href":"/api-reference/integrationssyncfailed"},{"title":"Inventoryperiodclosed","version":null,"deprecated":null,"openapi":"/openapi.json webhook inventory.period.closed","href":"/api-reference/inventoryperiodclosed"},{"title":"Inventoryperiodreopened","version":null,"deprecated":null,"openapi":"/openapi.json webhook inventory.period.reopened","href":"/api-reference/inventoryperiodreopened"},{"title":"Inventorystockadjusted","version":null,"deprecated":null,"openapi":"/openapi.json webhook inventory.stock.adjusted","href":"/api-reference/inventorystockadjusted"},{"title":"Inventorystockbelow reorder point","version":null,"deprecated":null,"openapi":"/openapi.json webhook inventory.stock.below-reorder-point","href":"/api-reference/inventorystockbelow-reorder-point"},{"title":"Inventorystockmoved","version":null,"deprecated":null,"openapi":"/openapi.json webhook inventory.stock.moved","href":"/api-reference/inventorystockmoved"},{"title":"Inventorystockreversed","version":null,"deprecated":null,"openapi":"/openapi.json webhook inventory.stock.reversed","href":"/api-reference/inventorystockreversed"},{"title":"Inventorytransferreceived","version":null,"deprecated":null,"openapi":"/openapi.json webhook inventory.transfer.received","href":"/api-reference/inventorytransferreceived"},{"title":"Inventorytransfershipped","version":null,"deprecated":null,"openapi":"/openapi.json webhook inventory.transfer.shipped","href":"/api-reference/inventorytransfershipped"},{"title":"Manufacturingbuildcompleted","version":null,"deprecated":null,"openapi":"/openapi.json webhook manufacturing.build.completed","href":"/api-reference/manufacturingbuildcompleted"},{"title":"Manufacturingbuildreleased","version":null,"deprecated":null,"openapi":"/openapi.json webhook manufacturing.build.released","href":"/api-reference/manufacturingbuildreleased"},{"title":"Manufacturingproblemreported","version":null,"deprecated":null,"openapi":"/openapi.json webhook manufacturing.problem.reported","href":"/api-reference/manufacturingproblemreported"},{"title":"Purchasingcertificatesexpiring","version":null,"deprecated":null,"openapi":"/openapi.json webhook purchasing.certificates.expiring","href":"/api-reference/purchasingcertificatesexpiring"},{"title":"Purchasingorderapproved","version":null,"deprecated":null,"openapi":"/openapi.json webhook purchasing.order.approved","href":"/api-reference/purchasingorderapproved"},{"title":"Purchasingordersent","version":null,"deprecated":null,"openapi":"/openapi.json webhook purchasing.order.sent","href":"/api-reference/purchasingordersent"},{"title":"Purchasingreceiptposted","version":null,"deprecated":null,"openapi":"/openapi.json webhook purchasing.receipt.posted","href":"/api-reference/purchasingreceiptposted"},{"title":"Qualityinspectionrecorded","version":null,"deprecated":null,"openapi":"/openapi.json webhook quality.inspection.recorded","href":"/api-reference/qualityinspectionrecorded"},{"title":"Salesinvoiceissued","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.invoice.issued","href":"/api-reference/salesinvoiceissued"},{"title":"Salesinvoicepaid","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.invoice.paid","href":"/api-reference/salesinvoicepaid"},{"title":"Salesinvoicevoided","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.invoice.voided","href":"/api-reference/salesinvoicevoided"},{"title":"Salesordercancelled","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.order.cancelled","href":"/api-reference/salesordercancelled"},{"title":"Salesorderconfirmed","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.order.confirmed","href":"/api-reference/salesorderconfirmed"},{"title":"Salesordercreated","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.order.created","href":"/api-reference/salesordercreated"},{"title":"Salesreturnreceived","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.return.received","href":"/api-reference/salesreturnreceived"},{"title":"Salesshipmentdelivered","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.shipment.delivered","href":"/api-reference/salesshipmentdelivered"},{"title":"Salesshipmentposted","version":null,"deprecated":null,"openapi":"/openapi.json webhook sales.shipment.posted","href":"/api-reference/salesshipmentposted"},{"title":"Webhookping","version":null,"deprecated":null,"openapi":"/openapi.json webhook webhook.ping","href":"/api-reference/webhookping"}]}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks"}]}]},"basePath":"","title":"Approve a purchase order - StockShift Developers","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}