Append one or more line items to an existing active purchase order without pruning any
existing lines. This is the additive counterpart to PUT /purchase-orders/{id}, which is
replace-all (any omitted line is deleted). The appended lines go through the same builders as
POST /purchase-orders — unit-of-measure conversion, incoming-stock increment, cost recompute,
and lot / custom-field / tag handling are identical to create — and the purchase order header
totals (order_cost, order_quantity, item_count, tax/shipping) are recalculated afterward.
Every appended line must reference an inventory-tracked product (type PRODUCT or KIT).
Non-inventory items (e.g. service or fee SKUs) are rejected with a 422 on
items.{index}.product before anything is written — record those charges as an extra cost
on the purchase order instead.
Only active purchase orders accept new lines; a 409 Conflict is returned for
completed / received / deleted orders.
Note: This endpoint is part of the container / Purchase-to-Order workflow and is gated by
the PURCHASE_TO_ORDER feature flag. Contact Luminous to have it enabled for your tenant.
Optionally set or update the purchase order's target container volume in cubic metres
(the container-fill gauge's denominator) while appending line items.
Required range: x >= 0
Example:
67
Response
Line items appended; the updated purchase order is returned
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Luminous API Documentation","colors":{"primary":"#7787FF","light":"#abb6fc","dark":"#5266e5"},"logo":{"light":"https://mintcdn.com/luminous-2ace3a9f/M8Q_jpCZcjsbRx58/logo/light.svg?fit=max\u0026auto=format\u0026n=M8Q_jpCZcjsbRx58\u0026q=85\u0026s=d932f2bcd17b4ecf6a0315882a7cf660","dark":"https://mintcdn.com/luminous-2ace3a9f/M8Q_jpCZcjsbRx58/logo/dark.svg?fit=max\u0026auto=format\u0026n=M8Q_jpCZcjsbRx58\u0026q=85\u0026s=f00840868e02fb26313b648757ebdf75"},"favicon":"https://mintcdn.com/luminous-2ace3a9f/M8Q_jpCZcjsbRx58/favicon.svg?fit=max\u0026auto=format\u0026n=M8Q_jpCZcjsbRx58\u0026q=85\u0026s=7b5cbde9d8373a43ec8f3a20e147df5c","navbar":{"links":[{"href":"mailto:developers@joinluminous.com","label":"Support"}]},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/joinluminous"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"luminous-2ace3a9f","hasAudioNarration":false,"actualSubdomain":"luminous-2ace3a9f","customDomains":["docs.joinluminous.com"],"gitSource":{"type":"github","owner":"luminousinventory","repo":"apidocs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecc8514df1cfa6996a00a4","collectionId":"e2f80b14-3d1c-481a-965a-8d97fc51aa70","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecc8514df1cfa6996a00a4"},"feedback":{"issues":false,"thumbs":false},"entitlements":{},"buildId":"6aed2af570058998cb8332f1","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"default","tag":"API Reference","count":693},{"language":"default","tag":"Sales \u0026 Fulfillment","count":156},{"language":"default","tag":"Manufacturing","count":101},{"language":"default","tag":"Configuration","count":73},{"language":"default","tag":"Accounts Payable","count":57},{"language":"default","tag":"Products \u0026 Catalog","count":54},{"language":"default","tag":"Purchasing","count":51},{"language":"default","tag":"Companies \u0026 Contacts","count":46},{"language":"default","tag":"Inventory \u0026 Warehousing","count":46},{"language":"default","tag":"Integrations","count":41}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"vite-origin","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":"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/purchase-orders/append-line-items-to-a-purchase-order","slug":"/api-reference/purchase-orders/append-line-items-to-a-purchase-order","pageMetadata":{"title":"Append line items to a purchase order","description":"Append one or more line items to an existing **active** purchase order without pruning any\nexisting lines. This is the additive counterpart to `PUT /purchase-orders/{id}`, which is\nreplace-all (any omitted line is deleted). The appended lines go through the same builders as\n`POST /purchase-orders` — unit-of-measure conversion, incoming-stock increment, cost recompute,\nand lot / custom-field / tag handling are identical to create — and the purchase order header\ntotals (`order_cost`, `order_quantity`, `item_count`, tax/shipping) are recalculated afterward.\n\nEvery appended line must reference an inventory-tracked product (type `PRODUCT` or `KIT`).\nNon-inventory items (e.g. service or fee SKUs) are rejected with a `422` on\n`items.{index}.product` before anything is written — record those charges as an extra cost\non the purchase order instead.\n\nOnly active purchase orders accept new lines; a `409 Conflict` is returned for\ncompleted / received / deleted orders.\n\n> **Note:** This endpoint is part of the container / Purchase-to-Order workflow and is gated by\n> the `PURCHASE_TO_ORDER` feature flag. Contact Luminous to have it enabled for your tenant.\n","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/items","href":"/api-reference/purchase-orders/append-line-items-to-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 blockquote: \"blockquote\",\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Append one or more line items to an existing \", _jsx(_components.strong, {\n children: \"active\"\n }), \" purchase order without pruning any\\nexisting lines. This is the additive counterpart to \", _jsx(_components.code, {\n children: \"PUT /purchase-orders/{id}\"\n }), \", which is\\nreplace-all (any omitted line is deleted). The appended lines go through the same builders as\\n\", _jsx(_components.code, {\n children: \"POST /purchase-orders\"\n }), \" — unit-of-measure conversion, incoming-stock increment, cost recompute,\\nand lot / custom-field / tag handling are identical to create — and the purchase order header\\ntotals (\", _jsx(_components.code, {\n children: \"order_cost\"\n }), \", \", _jsx(_components.code, {\n children: \"order_quantity\"\n }), \", \", _jsx(_components.code, {\n children: \"item_count\"\n }), \", tax/shipping) are recalculated afterward.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Every appended line must reference an inventory-tracked product (type \", _jsx(_components.code, {\n children: \"PRODUCT\"\n }), \" or \", _jsx(_components.code, {\n children: \"KIT\"\n }), \").\\nNon-inventory items (e.g. service or fee SKUs) are rejected with a \", _jsx(_components.code, {\n children: \"422\"\n }), \" on\\n\", _jsx(_components.code, {\n children: \"items.{index}.product\"\n }), \" before anything is written — record those charges as an extra cost\\non the purchase order instead.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Only active purchase orders accept new lines; a \", _jsx(_components.code, {\n children: \"409 Conflict\"\n }), \" is returned for\\ncompleted / received / deleted orders.\"]\n }), \"\\n\", _jsxs(_components.blockquote, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Note:\"\n }), \" This endpoint is part of the container / Purchase-to-Order workflow and is gated by\\nthe \", _jsx(_components.code, {\n children: \"PURCHASE_TO_ORDER\"\n }), \" feature flag. Contact Luminous to have it enabled for your tenant.\"]\n }), \"\\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":"Append line items to a purchase order","description":"Append one or more line items to an existing **active** purchase order without pruning any\nexisting lines. This is the additive counterpart to `PUT /purchase-orders/{id}`, which is\nreplace-all (any omitted line is deleted). The appended lines go through the same builders as\n`POST /purchase-orders` — unit-of-measure conversion, incoming-stock increment, cost recompute,\nand lot / custom-field / tag handling are identical to create — and the purchase order header\ntotals (`order_cost`, `order_quantity`, `item_count`, tax/shipping) are recalculated afterward.\n\nEvery appended line must reference an inventory-tracked product (type `PRODUCT` or `KIT`).\nNon-inventory items (e.g. service or fee SKUs) are rejected with a `422` on\n`items.{index}.product` before anything is written — record those charges as an extra cost\non the purchase order instead.\n\nOnly active purchase orders accept new lines; a `409 Conflict` is returned for\ncompleted / received / deleted orders.\n\n> **Note:** This endpoint is part of the container / Purchase-to-Order workflow and is gated by\n> the `PURCHASE_TO_ORDER` feature flag. Contact Luminous to have it enabled for your tenant.\n","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/items","href":"/api-reference/purchase-orders/append-line-items-to-a-purchase-order","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/luminous-2ace3a9f/203a59868a0254e6/scripts/inject-llms-directive.js"],"openApiReferenceData":{"operation":{"operationId":"appendPurchaseOrderItems","tags":["Purchase Orders"],"summary":"Append line items to a purchase order","description":"Append one or more line items to an existing **active** purchase order without pruning any\nexisting lines. This is the additive counterpart to `PUT /purchase-orders/{id}`, which is\nreplace-all (any omitted line is deleted). The appended lines go through the same builders as\n`POST /purchase-orders` — unit-of-measure conversion, incoming-stock increment, cost recompute,\nand lot / custom-field / tag handling are identical to create — and the purchase order header\ntotals (`order_cost`, `order_quantity`, `item_count`, tax/shipping) are recalculated afterward.\n\nEvery appended line must reference an inventory-tracked product (type `PRODUCT` or `KIT`).\nNon-inventory items (e.g. service or fee SKUs) are rejected with a `422` on\n`items.{index}.product` before anything is written — record those charges as an extra cost\non the purchase order instead.\n\nOnly active purchase orders accept new lines; a `409 Conflict` is returned for\ncompleted / received / deleted orders.\n\n> **Note:** This endpoint is part of the container / Purchase-to-Order workflow and is gated by\n> the `PURCHASE_TO_ORDER` feature flag. Contact Luminous to have it enabled for your tenant.\n","security":["e08de1e8-a489-473c-9ef1-5b04fcd79203"],"parameters":["bacbe6a4-4aa4-4f28-bf4a-63e1492a16bb"],"requestBody":"2afa058c-a49b-4b86-9d01-3a32219bf778","responses":{"201":"65139c26-fc21-4397-83a8-d6708544a3bb","401":"e2fcb3d2-b6ac-4b15-8e5f-b0e67ed9b8c4","404":"d1eb9336-e153-4dc6-a17a-ea5e125709ff","409":"8402e015-5730-4faa-aa56-21165f9c5187","422":"479824e4-1654-4d3d-89d0-30ae78420182"},"method":"post","type":"path","servers":["2e4be249-9cab-4b20-9acd-7b153d825b1d"],"path":"/purchase-orders/{purchaseOrderId}/items","baseUrlOptions":["https://{companyName}.api.joinluminous.com/external/api/v1"],"title":"Append line items to a purchase order","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"bacbe6a4-4aa4-4f28-bf4a-63e1492a16bb":{"in":"path","name":"purchaseOrderId","required":true,"schema":{"type":"integer","isRequired":true,"description":"ID of the purchase order to append line items to","uniqueKey":"","typeLabel":"integer"},"description":"ID of the purchase order to append line items to"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"description":"Line items to append to the purchase order","items":{"type":"object","required":["quantity","unit_price"],"properties":{"quantity":{"type":"number","format":"float","minimum":0.001,"description":"Quantity of the item ordered","example":10.5,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].quantity","typeLabel":"number\u003cfloat>"},"unit_price":{"type":"number","format":"float","description":"Price per unit","example":49.99,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].unit_price","typeLabel":"number\u003cfloat>"},"product_id":{"oneOf":[{"type":"integer","description":"ID of the product (required if `sku` not provided)","example":123,"uniqueKey":"\\items.items.[INDEX].product_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"ID of the product (required if `sku` not provided)","example":123,"uniqueKey":"\\items.items.[INDEX].product_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].product_id","typeLabel":"integer | null"},"sku":{"oneOf":[{"type":"string","maxLength":255,"description":"SKU of the product (required if `product_id` not provided)","example":"WIDGET-001","uniqueKey":"\\items.items.[INDEX].sku.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"SKU of the product (required if `product_id` not provided)","example":"WIDGET-001","uniqueKey":"\\items.items.[INDEX].sku.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].sku","typeLabel":"string | null"},"ordered_qty":{"oneOf":[{"type":"number","format":"float","minimum":0.001,"description":"Ordered quantity in base unit of measure (calculated automatically if not provided)","example":10.5,"uniqueKey":"\\items.items.[INDEX].ordered_qty.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0.001,"description":"Ordered quantity in base unit of measure (calculated automatically if not provided)","example":10.5,"uniqueKey":"\\items.items.[INDEX].ordered_qty.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].ordered_qty","typeLabel":"number\u003cfloat> | null"},"received_qty":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Quantity already received","example":0,"uniqueKey":"\\items.items.[INDEX].received_qty.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Quantity already received","example":0,"uniqueKey":"\\items.items.[INDEX].received_qty.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].received_qty","typeLabel":"number\u003cfloat> | null"},"expected_ship_date":{"oneOf":[{"type":"string","format":"date","description":"Per-line expected ship date override. When omitted or null, the line inherits the PO header `requested_ship_date`.","example":"2026-08-17","uniqueKey":"\\items.items.[INDEX].expected_ship_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Per-line expected ship date override. When omitted or null, the line inherits the PO header `requested_ship_date`.","example":"2026-08-17","uniqueKey":"\\items.items.[INDEX].expected_ship_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].expected_ship_date","typeLabel":"string\u003cdate> | null"},"expected_arrival_date":{"oneOf":[{"type":"string","format":"date","description":"Per-line expected arrival date override. When omitted or null, the line inherits the PO header `arrival_due_date`.","example":"2026-08-22","uniqueKey":"\\items.items.[INDEX].expected_arrival_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Per-line expected arrival date override. When omitted or null, the line inherits the PO header `arrival_due_date`.","example":"2026-08-22","uniqueKey":"\\items.items.[INDEX].expected_arrival_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].expected_arrival_date","typeLabel":"string\u003cdate> | null"},"lot_id":{"oneOf":[{"type":"integer","description":"ID of the product lot","example":789,"uniqueKey":"\\items.items.[INDEX].lot_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"ID of the product lot","example":789,"uniqueKey":"\\items.items.[INDEX].lot_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].lot_id","typeLabel":"integer | null"},"lot_number":{"oneOf":[{"type":"string","description":"Lot number for the item (used when the product has lot tracking enabled)","example":"LOT-12345","uniqueKey":"\\items.items.[INDEX].lot_number.oneOf.0","typeLabel":"string"},{"type":"null","description":"Lot number for the item (used when the product has lot tracking enabled)","example":"LOT-12345","uniqueKey":"\\items.items.[INDEX].lot_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].lot_number","typeLabel":"string | null"},"lot_name":{"oneOf":[{"type":"string","description":"Alias for `lot_number`.","uniqueKey":"\\items.items.[INDEX].lot_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Alias for `lot_number`.","uniqueKey":"\\items.items.[INDEX].lot_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].lot_name","typeLabel":"string | null"},"uom_id":{"oneOf":[{"type":"integer","description":"ID of the unit of measure for the item. If omitted, a default is resolved automatically in priority order: the product's default purchase unit, then its default selling unit, then the base unit of its unit class, then the account's base unit. If no unit of measure is supplied and no default can be resolved, the request fails with a 422 error.","example":1,"uniqueKey":"\\items.items.[INDEX].uom_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"ID of the unit of measure for the item. If omitted, a default is resolved automatically in priority order: the product's default purchase unit, then its default selling unit, then the base unit of its unit class, then the account's base unit. If no unit of measure is supplied and no default can be resolved, the request fails with a 422 error.","example":1,"uniqueKey":"\\items.items.[INDEX].uom_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].uom_id","typeLabel":"integer | null"},"source_sku":{"oneOf":[{"type":"string","maxLength":255,"description":"Source SKU from the supplier","example":"SUPPLIER-SKU-123","uniqueKey":"\\items.items.[INDEX].source_sku.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Source SKU from the supplier","example":"SUPPLIER-SKU-123","uniqueKey":"\\items.items.[INDEX].source_sku.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].source_sku","typeLabel":"string | null"},"tags":{"oneOf":[{"type":"array","description":"Tags to associate with this line item","items":{"type":"string","maxLength":255,"uniqueKey":"\\items.items.[INDEX].tags.oneOf.0.items.[INDEX]","typeLabel":"string"},"example":["priority","fragile"],"uniqueKey":"\\items.items.[INDEX].tags.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"Tags to associate with this line item","items":{"type":"string","maxLength":255},"example":["priority","fragile"],"uniqueKey":"\\items.items.[INDEX].tags.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].tags","typeLabel":"string[] | null"},"custom_fields":{"oneOf":[{"type":"object","description":"Custom field values for this line item","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.0.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.0.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.0.additionalProperties","typeLabel":"string | number | boolean"},"example":{"Lot Number":"LOT-12345"},"uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.0","typeLabel":"object"},{"type":"null","description":"Custom field values for this line item","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.1.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.1.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.1.additionalProperties.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.1.additionalProperties","typeLabel":"string | number | boolean"},"example":{"Lot Number":"LOT-12345"},"uniqueKey":"\\items.items.[INDEX].custom_fields.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].custom_fields","typeLabel":"object | null"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"},"volume_target_cbm":{"oneOf":[{"type":"number","format":"float","minimum":0,"description":"Optionally set or update the purchase order's target container volume in cubic metres\n(the container-fill gauge's denominator) while appending line items.\n","example":67,"uniqueKey":"volume_target_cbm.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","minimum":0,"description":"Optionally set or update the purchase order's target container volume in cubic metres\n(the container-fill gauge's denominator) while appending line items.\n","example":67,"uniqueKey":"volume_target_cbm.oneOf.1","typeLabel":"null"}],"uniqueKey":"volume_target_cbm","typeLabel":"number\u003cfloat> | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"append_single_item":{"title":"append_single_item","value":{"items":[{"sku":"WIDGET-001","quantity":25,"unit_price":12.5}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"65139c26-fc21-4397-83a8-d6708544a3bb":{"description":"Line items appended; the updated purchase order is returned","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier for the purchase order","uniqueKey":"data.id","typeLabel":"integer"},"order_numbers":{"type":"array","description":"List of purchase order numbers","items":{"type":"string","uniqueKey":"data.order_numbers.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.order_numbers","typeLabel":"string[]"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the purchase order was created","uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the purchase order was last updated","uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"},"order_status":{"type":"string","enum":["active","inactive","deleted"],"description":"Status of the purchase order","uniqueKey":"data.order_status","typeLabel":"enum\u003cstring>"},"order_date":{"type":"string","format":"date","description":"Date when the purchase order was created","uniqueKey":"data.order_date","typeLabel":"string\u003cdate>"},"invoice_date":{"type":"string","format":"date","description":"Date when the purchase order was invoiced","uniqueKey":"data.invoice_date","typeLabel":"string\u003cdate>"},"arrival_due_date":{"oneOf":[{"type":"string","format":"date","description":"Expected arrival date for the order","uniqueKey":"data.arrival_due_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Expected arrival date for the order","uniqueKey":"data.arrival_due_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.arrival_due_date","typeLabel":"string\u003cdate> | null"},"requested_ship_date":{"oneOf":[{"type":"string","format":"date","description":"Requested shipping date","uniqueKey":"data.requested_ship_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Requested shipping date","uniqueKey":"data.requested_ship_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.requested_ship_date","typeLabel":"string\u003cdate> | null"},"original_arrival_due_date":{"oneOf":[{"type":"string","format":"date","description":"Frozen Original ETA — the arrival date as first planned, distinct from the current `arrival_due_date`. Null when unset.","uniqueKey":"data.original_arrival_due_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Frozen Original ETA — the arrival date as first planned, distinct from the current `arrival_due_date`. Null when unset.","uniqueKey":"data.original_arrival_due_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.original_arrival_due_date","typeLabel":"string\u003cdate> | null"},"shipment_type":{"oneOf":[{"type":"string","enum":["Air","Sea","Road","Rail","Express",null],"description":"Freight mode used by the Transit Time Matrix. Null when unset.","uniqueKey":"data.shipment_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["Air","Sea","Road","Rail","Express",null],"description":"Freight mode used by the Transit Time Matrix. Null when unset.","uniqueKey":"data.shipment_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.shipment_type","typeLabel":"enum\u003cstring> | null"},"override_transit_days":{"oneOf":[{"type":"integer","description":"Manual override of the transit-matrix calendar days used to derive the arrival date. Null when unset.","uniqueKey":"data.override_transit_days.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Manual override of the transit-matrix calendar days used to derive the arrival date. Null when unset.","uniqueKey":"data.override_transit_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.override_transit_days","typeLabel":"integer | null"},"order_type":{"type":"integer","description":"Type of the order","uniqueKey":"data.order_type","typeLabel":"integer"},"incoterm":{"type":"string","description":"International Commercial Terms for the order","uniqueKey":"data.incoterm","typeLabel":"string"},"tracking_info":{"oneOf":[{"type":"string","description":"Tracking information for the order","uniqueKey":"data.tracking_info.oneOf.0","typeLabel":"string"},{"type":"null","description":"Tracking information for the order","uniqueKey":"data.tracking_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tracking_info","typeLabel":"string | null"},"payment_terms":{"type":"string","description":"Payment terms for the order","uniqueKey":"data.payment_terms","typeLabel":"string"},"supplier_id":{"type":"integer","description":"ID of the supplier","uniqueKey":"data.supplier_id","typeLabel":"integer"},"item_count":{"type":"integer","description":"Number of unique items in the order","uniqueKey":"data.item_count","typeLabel":"integer"},"total_qty_ordered":{"type":"number","format":"float","description":"Total quantity of line items ordered","uniqueKey":"data.total_qty_ordered","typeLabel":"number\u003cfloat>"},"total_qty_received":{"type":"number","format":"float","description":"Total quantity of line items received","uniqueKey":"data.total_qty_received","typeLabel":"number\u003cfloat>"},"total_qty_remaining":{"type":"number","format":"float","description":"Total quantity of line items remaining to be received (ordered - received)","uniqueKey":"data.total_qty_remaining","typeLabel":"number\u003cfloat>"},"receipt_status":{"oneOf":[{"type":"string","enum":["awaiting_shipment","partially_received","fully_received"],"description":"PO-level receipt status rolled up from its lines (same value as the app's Receipt Status column). `awaiting_shipment` — nothing received yet (\"Pending Receipt\" in the app); `fully_received` — every line not closed short has received at least its ordered quantity (over-receipt counts); `partially_received` — anything else. Voided receipts don't count.","uniqueKey":"data.receipt_status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["awaiting_shipment","partially_received","fully_received"],"description":"PO-level receipt status rolled up from its lines (same value as the app's Receipt Status column). `awaiting_shipment` — nothing received yet (\"Pending Receipt\" in the app); `fully_received` — every line not closed short has received at least its ordered quantity (over-receipt counts); `partially_received` — anything else. Voided receipts don't count.","uniqueKey":"data.receipt_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.receipt_status","typeLabel":"enum\u003cstring> | null"},"order_cost":{"type":"number","format":"float","description":"Cost of the order before tax and shipping — line items plus additional fees (including automatic cost-rule fees)","uniqueKey":"data.order_cost","typeLabel":"number\u003cfloat>"},"total_tax":{"type":"number","format":"float","description":"Total tax amount","uniqueKey":"data.total_tax","typeLabel":"number\u003cfloat>"},"total_shipping_cost":{"type":"number","format":"float","description":"Total shipping cost","uniqueKey":"data.total_shipping_cost","typeLabel":"number\u003cfloat>"},"total_cost":{"type":"number","format":"float","description":"Total cost including tax and shipping","uniqueKey":"data.total_cost","typeLabel":"number\u003cfloat>"},"total_paid":{"type":"number","format":"float","description":"Total amount paid","uniqueKey":"data.total_paid","typeLabel":"number\u003cfloat>"},"total_due":{"type":"number","format":"float","description":"Total amount due","uniqueKey":"data.total_due","typeLabel":"number\u003cfloat>"},"total_volume_cbm":{"type":"number","format":"float","description":"Container-fill summary: total shipping volume in cubic metres, rolled up from each line item's\nbox/carton dimensions × ordered quantity. `0` when no line item's SKU has usable dimensions.\n","uniqueKey":"data.total_volume_cbm","typeLabel":"number\u003cfloat>"},"total_weight_kg":{"type":"number","format":"float","description":"Container-fill summary: total shipping weight in kilograms, rolled up from each line item's\nper-unit weight × ordered quantity. `0` when no line item's SKU has a weight set.\n","uniqueKey":"data.total_weight_kg","typeLabel":"number\u003cfloat>"},"lines_missing_dimensions":{"type":"integer","description":"Number of line items whose SKU lacks usable box/carton dimensions and therefore contribute\nnothing to `total_volume_cbm`. Useful for flagging an incomplete container-fill estimate.\n","uniqueKey":"data.lines_missing_dimensions","typeLabel":"integer"},"volume_target_cbm":{"oneOf":[{"type":"number","format":"float","description":"Target container volume in cubic metres (the fill gauge's denominator), or `null` when no\ntarget has been set for this purchase order.\n","uniqueKey":"data.volume_target_cbm.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","description":"Target container volume in cubic metres (the fill gauge's denominator), or `null` when no\ntarget has been set for this purchase order.\n","uniqueKey":"data.volume_target_cbm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.volume_target_cbm","typeLabel":"number\u003cfloat> | null"},"volume_remaining_cbm":{"oneOf":[{"type":"number","format":"float","description":"Remaining container volume in cubic metres, computed as `max(0, volume_target_cbm - total_volume_cbm)`.\n`null` when `volume_target_cbm` is not set.\n","uniqueKey":"data.volume_remaining_cbm.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","description":"Remaining container volume in cubic metres, computed as `max(0, volume_target_cbm - total_volume_cbm)`.\n`null` when `volume_target_cbm` is not set.\n","uniqueKey":"data.volume_remaining_cbm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.volume_remaining_cbm","typeLabel":"number\u003cfloat> | null"},"volume_fill_percent":{"oneOf":[{"type":"number","format":"float","description":"How full the container is, as a percentage (`total_volume_cbm / volume_target_cbm × 100`).\n`null` when `volume_target_cbm` is not set or zero.\n","uniqueKey":"data.volume_fill_percent.oneOf.0","typeLabel":"number\u003cfloat>"},{"type":"null","format":"float","description":"How full the container is, as a percentage (`total_volume_cbm / volume_target_cbm × 100`).\n`null` when `volume_target_cbm` is not set or zero.\n","uniqueKey":"data.volume_fill_percent.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.volume_fill_percent","typeLabel":"number\u003cfloat> | null"},"down_payment":{"type":"number","format":"float","description":"Down payment amount","uniqueKey":"data.down_payment","typeLabel":"number\u003cfloat>"},"public_note":{"oneOf":[{"type":"string","description":"Public notes","uniqueKey":"data.public_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Public notes","uniqueKey":"data.public_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.public_note","typeLabel":"string | null"},"private_note":{"oneOf":[{"type":"string","description":"Private notes","uniqueKey":"data.private_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Private notes","uniqueKey":"data.private_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.private_note","typeLabel":"string | null"},"starred":{"type":"boolean","description":"Whether the order is starred","uniqueKey":"data.starred","typeLabel":"boolean"},"items":{"type":"array","description":"Line items in the purchase order. Each is the same `PurchaseOrderItem` object served by `GET /purchase-orders/items`; on this detail endpoint the per-line `allocations` array is populated.","items":{"type":"object","properties":{"id":{"type":"integer","description":"Line item ID","uniqueKey":"data.\\items.items.[INDEX].id","typeLabel":"integer"},"purchase_order_id":{"type":"integer","description":"ID of the parent purchase order","uniqueKey":"data.\\items.items.[INDEX].purchase_order_id","typeLabel":"integer"},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp","uniqueKey":"data.\\items.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp","uniqueKey":"data.\\items.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"},"quantity":{"type":"number","format":"float","description":"How much was ordered, counted in the line's **ordered** unit of measure (the unit `ordered_unit_of_measure` names). A line ordered as 10 cases of 12 reads `10` here and `120` in `quantity_ordered`.","uniqueKey":"data.\\items.items.[INDEX].quantity","typeLabel":"number\u003cfloat>"},"unit_price":{"type":"number","format":"float","description":"Price per unit","uniqueKey":"data.\\items.items.[INDEX].unit_price","typeLabel":"number\u003cfloat>"},"unit":{"oneOf":[{"type":"string","description":"Unit of measure","uniqueKey":"data.\\items.items.[INDEX].unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unit of measure","uniqueKey":"data.\\items.items.[INDEX].unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].unit","typeLabel":"string | null"},"tax":{"type":"number","format":"float","description":"Tax amount","uniqueKey":"data.\\items.items.[INDEX].tax","typeLabel":"number\u003cfloat>"},"discount_amount":{"type":"number","format":"float","description":"Discount amount","uniqueKey":"data.\\items.items.[INDEX].discount_amount","typeLabel":"number\u003cfloat>"},"line_total":{"type":"number","format":"float","description":"Total for this line item","uniqueKey":"data.\\items.items.[INDEX].line_total","typeLabel":"number\u003cfloat>"},"expected_ship_date":{"oneOf":[{"type":"string","format":"date","description":"Per-line expected ship date override. When null, this line inherits the purchase order's header `requested_ship_date`.","uniqueKey":"data.\\items.items.[INDEX].expected_ship_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Per-line expected ship date override. When null, this line inherits the purchase order's header `requested_ship_date`.","uniqueKey":"data.\\items.items.[INDEX].expected_ship_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].expected_ship_date","typeLabel":"string\u003cdate> | null"},"expected_arrival_date":{"oneOf":[{"type":"string","format":"date","description":"Per-line expected arrival date override. When null, this line inherits the purchase order's header `arrival_due_date`.","uniqueKey":"data.\\items.items.[INDEX].expected_arrival_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Per-line expected arrival date override. When null, this line inherits the purchase order's header `arrival_due_date`.","uniqueKey":"data.\\items.items.[INDEX].expected_arrival_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].expected_arrival_date","typeLabel":"string\u003cdate> | null"},"requested_ship_date":{"oneOf":[{"type":"string","format":"date","description":"Purchase order header requested ship date, copied onto every line. It is the same for every line of a PO and differs from the per-line `expected_ship_date` override.","uniqueKey":"data.\\items.items.[INDEX].requested_ship_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Purchase order header requested ship date, copied onto every line. It is the same for every line of a PO and differs from the per-line `expected_ship_date` override.","uniqueKey":"data.\\items.items.[INDEX].requested_ship_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].requested_ship_date","typeLabel":"string\u003cdate> | null"},"arrival_due_date":{"oneOf":[{"type":"string","format":"date","description":"Purchase order header current ETA, copied onto every line. It is the same for every line of a PO and differs from the per-line `expected_arrival_date` override.","uniqueKey":"data.\\items.items.[INDEX].arrival_due_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Purchase order header current ETA, copied onto every line. It is the same for every line of a PO and differs from the per-line `expected_arrival_date` override.","uniqueKey":"data.\\items.items.[INDEX].arrival_due_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].arrival_due_date","typeLabel":"string\u003cdate> | null"},"shipment_type":{"oneOf":[{"type":"string","enum":["Air","Sea","Road","Rail","Express",null],"description":"Purchase order header freight mode, copied onto every line. It is the same for every line of a PO and is not a per-line value.","uniqueKey":"data.\\items.items.[INDEX].shipment_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["Air","Sea","Road","Rail","Express",null],"description":"Purchase order header freight mode, copied onto every line. It is the same for every line of a PO and is not a per-line value.","uniqueKey":"data.\\items.items.[INDEX].shipment_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].shipment_type","typeLabel":"enum\u003cstring> | null"},"original_arrival_due_date":{"oneOf":[{"type":"string","format":"date","description":"Purchase order header frozen Original ETA (the arrival date as first planned), copied onto every line.","uniqueKey":"data.\\items.items.[INDEX].original_arrival_due_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Purchase order header frozen Original ETA (the arrival date as first planned), copied onto every line.","uniqueKey":"data.\\items.items.[INDEX].original_arrival_due_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].original_arrival_due_date","typeLabel":"string\u003cdate> | null"},"override_transit_days":{"oneOf":[{"type":"integer","description":"Purchase order header manual override of the transit-matrix calendar days, copied onto every line.","uniqueKey":"data.\\items.items.[INDEX].override_transit_days.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Purchase order header manual override of the transit-matrix calendar days, copied onto every line.","uniqueKey":"data.\\items.items.[INDEX].override_transit_days.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].override_transit_days","typeLabel":"integer | null"},"quantity_received":{"type":"number","format":"float","description":"How much has been received against this line, summed across receipts, in the **base** unit of measure. Each receipt line records the unit it was received in and stores its quantity already converted to base, so this total is reliably in one unit (DV-4147). It previously read a roll-up column that some receiving paths populated without converting, so this figure is no longer approximate on a line whose ordered and base units differ.","uniqueKey":"data.\\items.items.[INDEX].quantity_received","typeLabel":"number\u003cfloat>"},"received_quantity":{"type":"number","format":"float","deprecated":true,"description":"**Deprecated (2026-08-13).** Identical value to `quantity_received`; use that field instead. Both keys are emitted from one computed value and can never diverge. No sunset date — the alias is retained indefinitely for backward compatibility.","uniqueKey":"data.\\items.items.[INDEX].received_quantity","typeLabel":"number\u003cfloat>"},"quantity_ordered":{"type":"number","format":"float","description":"The same order as `quantity`, converted to the line's **base** unit of measure — not a second order. A line ordered as 10 cases of 12 reads `120` here and `10` in `quantity`.","uniqueKey":"data.\\items.items.[INDEX].quantity_ordered","typeLabel":"number\u003cfloat>"},"quantity_shipped":{"type":"number","format":"float","description":"How much has shipped against this line, in the **ordered** unit of measure. Summed across every shipment line, each converted from the unit it was recorded in. Gross: no shipment-status filter.","uniqueKey":"data.\\items.items.[INDEX].quantity_shipped","typeLabel":"number\u003cfloat>"},"quantity_billed":{"type":"number","format":"float","description":"How much has been billed against this line, in the **ordered** unit of measure. Summed across every linked bill line, each converted from its own unit. Gross and status-agnostic — drafts count, credits and returns are not netted off — and excluding lines whose bill was deleted.","uniqueKey":"data.\\items.items.[INDEX].quantity_billed","typeLabel":"number\u003cfloat>"},"quantity_allocated":{"type":"number","format":"float","description":"How much of this incoming line is already committed to a sales order, in the **base** unit of measure. The open purchase-to-order reservation; `0` on an unpegged line.","uniqueKey":"data.\\items.items.[INDEX].quantity_allocated","typeLabel":"number\u003cfloat>"},"quantity_released":{"type":"number","format":"float","description":"Gross quantity released from pegs on this line — the received/fulfilled portion of the purchase-to-order reservation, in the **base** unit of measure. Additive to `quantity_allocated` (which stays open-only, so releasing a peg does not shrink it); `0` on an unpegged line.","uniqueKey":"data.\\items.items.[INDEX].quantity_released","typeLabel":"number\u003cfloat>"},"under_covered_quantity":{"type":"number","format":"float","description":"How much of the open reservation on this line can no longer be covered by the effective remaining quantity — for example when the parent PO is **Completed** short, leaving effective remaining at `0`. Additive; `0` on an unpegged line or one whose open reservation is still fully coverable.","uniqueKey":"data.\\items.items.[INDEX].under_covered_quantity","typeLabel":"number\u003cfloat>"},"remaining_to_ship":{"type":"number","format":"float","description":"`quantity − quantity_shipped`, in the **ordered** unit of measure. **Signed** — over-shipping off a PO is a supported flow reconciled on the bill, so an over-shipped line reports the overage as a negative rather than `0`.","uniqueKey":"data.\\items.items.[INDEX].remaining_to_ship","typeLabel":"number\u003cfloat>"},"remaining_to_receive":{"type":"number","format":"float","description":"`quantity − quantity_received`. **Signed**, for the same reason as `remaining_to_ship`. The one figure here that spans two bases — `quantity` is the ordered unit and the received quantity is nominally the base unit (DV-4119) — so treat it as approximate on a line whose two units differ. Closing a line short does **not** change this figure — read `open_quantity` for what is still expected.","uniqueKey":"data.\\items.items.[INDEX].remaining_to_receive","typeLabel":"number\u003cfloat>"},"open_quantity":{"type":"number","format":"float","description":"Still-expected quantity in the **ordered** unit of measure. `0` when the line is closed short; otherwise `remaining_to_receive` floored at 0. Integrators that treat \"remaining\" as \"still coming\" should read this field. See `PATCH /purchase-orders/{purchaseOrderId}/items/{lineItemId}/closed`.","example":40,"uniqueKey":"data.\\items.items.[INDEX].open_quantity","typeLabel":"number\u003cfloat>"},"closed_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the line was closed short (ISO-8601), or `null` if the line is open.","example":null,"uniqueKey":"data.\\items.items.[INDEX].closed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the line was closed short (ISO-8601), or `null` if the line is open.","example":null,"uniqueKey":"data.\\items.items.[INDEX].closed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].closed_at","typeLabel":"string\u003cdate-time> | null"},"close_reason":{"oneOf":[{"type":"string","description":"Reason recorded when the line was closed short, or `null` if the line is open.","example":null,"uniqueKey":"data.\\items.items.[INDEX].close_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reason recorded when the line was closed short, or `null` if the line is open.","example":null,"uniqueKey":"data.\\items.items.[INDEX].close_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].close_reason","typeLabel":"string | null"},"available_to_allocate":{"type":"number","format":"float","description":"How much of this incoming line is still free to commit to a sales order, in the **base** unit of measure: `max(0, open quantity − quantity_allocated)`, where the open quantity is ordered minus received. **Floored at 0** (unlike the two signed figures above) because you cannot commit a negative quantity. A closed line reports `0`. Answers what is left to promise, not how far off the PO the delivery landed. Renamed from `quantity_remaining` (DV-4144).","uniqueKey":"data.\\items.items.[INDEX].available_to_allocate","typeLabel":"number\u003cfloat>"},"volume_cbm":{"type":"number","format":"float","description":"Per-unit shipping volume in cubic metres, derived from the SKU's box dimensions\n(falling back to carton dimensions). `0` when the SKU has no usable dimensions. Part of the\ncontainer-fill summary.\n","uniqueKey":"data.\\items.items.[INDEX].volume_cbm","typeLabel":"number\u003cfloat>"},"line_volume_cbm":{"type":"number","format":"float","description":"This line's total shipping volume in cubic metres (`volume_cbm` × `quantity_ordered`).\n","uniqueKey":"data.\\items.items.[INDEX].line_volume_cbm","typeLabel":"number\u003cfloat>"},"weight_kg":{"type":"number","format":"float","description":"Per-unit shipping weight in kilograms. `0` when the SKU has no weight set. Part of the\ncontainer-fill summary.\n","uniqueKey":"data.\\items.items.[INDEX].weight_kg","typeLabel":"number\u003cfloat>"},"line_weight_kg":{"type":"number","format":"float","description":"This line's total shipping weight in kilograms (`weight_kg` × `quantity_ordered`).\n","uniqueKey":"data.\\items.items.[INDEX].line_weight_kg","typeLabel":"number\u003cfloat>"},"allocations":{"type":"array","description":"Which sales orders currently hold the allocation on this line. Only populated on the\nsingle purchase-order detail endpoint (`GET /purchase-orders/{id}`); always an empty\narray on the list endpoint and for non-allocated lines.\n","items":{"type":"object","properties":{"sales_order_id":{"type":"integer","description":"ID of the sales order holding the allocation","uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX].sales_order_id","typeLabel":"integer"},"sales_order_number":{"oneOf":[{"type":"string","description":"Human-readable sales order number","uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX].sales_order_number.oneOf.0","typeLabel":"string"},{"type":"null","description":"Human-readable sales order number","uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX].sales_order_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX].sales_order_number","typeLabel":"string | null"},"quantity_allocated":{"type":"number","format":"float","description":"Open quantity this sales order has pegged to the line","uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX].quantity_allocated","typeLabel":"number\u003cfloat>"},"quantity_released":{"type":"number","format":"float","description":"Quantity already released from this sales order's pegs on the line (the received/fulfilled portion). Rows are retained while either `quantity_allocated` or `quantity_released` is greater than `0`, so a fully-received allocation still appears with its release history.","uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX].quantity_released","typeLabel":"number\u003cfloat>"},"peg_ids":{"type":"array","items":{"type":"integer","uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX].peg_ids.items.[INDEX]","typeLabel":"integer"},"description":"IDs of the pegs backing this allocation. Pass these to\n`POST /purchase-orders/reverse-allocation` (which is peg-scoped) to reverse an\nallocation made through the API. Allocate, read the peg ids back from\n`GET /purchase-orders/{id}`, then reverse them.\n","uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX].peg_ids","typeLabel":"integer[]"}},"uniqueKey":"data.\\items.items.[INDEX].allocations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.\\items.items.[INDEX].allocations","typeLabel":"object[]"},"source_sku":{"oneOf":[{"type":"string","description":"Source SKU from the supplier","uniqueKey":"data.\\items.items.[INDEX].source_sku.oneOf.0","typeLabel":"string"},{"type":"null","description":"Source SKU from the supplier","uniqueKey":"data.\\items.items.[INDEX].source_sku.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].source_sku","typeLabel":"string | null"},"product":{"oneOf":[{"type":"object","description":"Associated product information","properties":{"id":{"type":"integer","description":"Product ID","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.id","typeLabel":"integer"},"name":{"type":"string","description":"Product name","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.name","typeLabel":"string"},"description":{"oneOf":[{"type":"string","description":"Product description","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Product description","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.description","typeLabel":"string | null"},"retail_price":{"type":"number","format":"float","description":"Product retail price","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.retail_price","typeLabel":"number\u003cfloat>"},"wholesale_price":{"type":"number","format":"float","description":"Product wholesale price","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.wholesale_price","typeLabel":"number\u003cfloat>"},"unit_cost":{"type":"number","format":"float","description":"Product unit cost","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.unit_cost","typeLabel":"number\u003cfloat>"},"product_weight":{"type":"number","format":"float","description":"Product weight","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.product_weight","typeLabel":"number\u003cfloat>"},"product_length":{"type":"number","format":"float","description":"Product length (in inches)","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.product_length","typeLabel":"number\u003cfloat>"},"product_width":{"type":"number","format":"float","description":"Product width (in inches)","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.product_width","typeLabel":"number\u003cfloat>"},"product_height":{"type":"number","format":"float","description":"Product height (in inches)","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.product_height","typeLabel":"number\u003cfloat>"},"sellable":{"type":"boolean","description":"Whether the product is sellable","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.sellable","typeLabel":"boolean"},"discontinued":{"type":"boolean","description":"Whether the product is discontinued","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.discontinued","typeLabel":"boolean"},"image_url":{"oneOf":[{"type":"string","description":"Product image URL","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.image_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Product image URL","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.image_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.image_url","typeLabel":"string | null"},"variant_attributes":{"oneOf":[{"type":"object","description":"Product variant attributes","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.variant_attributes.oneOf.0","typeLabel":"object"},{"type":"null","description":"Product variant attributes","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.variant_attributes.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.variant_attributes","typeLabel":"object | null"},"sku":{"type":"string","description":"Product internal SKU","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.sku","typeLabel":"string"},"upc":{"type":"string","description":"Product UPC/Barcode","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.upc","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Product creation timestamp","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Product last update timestamp","uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data.\\items.items.[INDEX].product.oneOf.0","typeLabel":"object"},{"type":"null","description":"Associated product information","properties":{"id":{"type":"integer","description":"Product ID"},"name":{"type":"string","description":"Product name"},"description":{"oneOf":[{"type":"string","description":"Product description"},{"type":"null","description":"Product description"}]},"retail_price":{"type":"number","format":"float","description":"Product retail price"},"wholesale_price":{"type":"number","format":"float","description":"Product wholesale price"},"unit_cost":{"type":"number","format":"float","description":"Product unit cost"},"product_weight":{"type":"number","format":"float","description":"Product weight"},"product_length":{"type":"number","format":"float","description":"Product length (in inches)"},"product_width":{"type":"number","format":"float","description":"Product width (in inches)"},"product_height":{"type":"number","format":"float","description":"Product height (in inches)"},"sellable":{"type":"boolean","description":"Whether the product is sellable"},"discontinued":{"type":"boolean","description":"Whether the product is discontinued"},"image_url":{"oneOf":[{"type":"string","description":"Product image URL"},{"type":"null","description":"Product image URL"}]},"variant_attributes":{"oneOf":[{"type":"object","description":"Product variant attributes"},{"type":"null","description":"Product variant attributes"}]},"sku":{"type":"string","description":"Product internal SKU"},"upc":{"type":"string","description":"Product UPC/Barcode"},"created_at":{"type":"string","format":"date-time","description":"Product creation timestamp"},"updated_at":{"type":"string","format":"date-time","description":"Product last update timestamp"}},"uniqueKey":"data.\\items.items.[INDEX].product.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].product","typeLabel":"object | null"},"base_unit_of_measure":{"oneOf":[{"type":"object","description":"Base unit of measure","properties":{"id":{"type":"integer","uniqueKey":"data.\\items.items.[INDEX].base_unit_of_measure.oneOf.0.id","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"data.\\items.items.[INDEX].base_unit_of_measure.oneOf.0.name","typeLabel":"string"},"abbreviation":{"type":"string","uniqueKey":"data.\\items.items.[INDEX].base_unit_of_measure.oneOf.0.abbreviation","typeLabel":"string"}},"uniqueKey":"data.\\items.items.[INDEX].base_unit_of_measure.oneOf.0","typeLabel":"object"},{"type":"null","description":"Base unit of measure","properties":{"id":{"type":"integer"},"name":{"type":"string"},"abbreviation":{"type":"string"}},"uniqueKey":"data.\\items.items.[INDEX].base_unit_of_measure.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].base_unit_of_measure","typeLabel":"object | null"},"ordered_unit_of_measure":{"oneOf":[{"type":"object","description":"Ordered unit of measure","properties":{"id":{"type":"integer","uniqueKey":"data.\\items.items.[INDEX].ordered_unit_of_measure.oneOf.0.id","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"data.\\items.items.[INDEX].ordered_unit_of_measure.oneOf.0.name","typeLabel":"string"},"abbreviation":{"type":"string","uniqueKey":"data.\\items.items.[INDEX].ordered_unit_of_measure.oneOf.0.abbreviation","typeLabel":"string"}},"uniqueKey":"data.\\items.items.[INDEX].ordered_unit_of_measure.oneOf.0","typeLabel":"object"},{"type":"null","description":"Ordered unit of measure","properties":{"id":{"type":"integer"},"name":{"type":"string"},"abbreviation":{"type":"string"}},"uniqueKey":"data.\\items.items.[INDEX].ordered_unit_of_measure.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].ordered_unit_of_measure","typeLabel":"object | null"},"lot":{"oneOf":[{"type":"object","description":"Product lot information","properties":{"id":{"type":"integer","uniqueKey":"data.\\items.items.[INDEX].lot.oneOf.0.id","typeLabel":"integer"},"lot_number":{"type":"string","uniqueKey":"data.\\items.items.[INDEX].lot.oneOf.0.lot_number","typeLabel":"string"},"expiration_date":{"oneOf":[{"type":"string","format":"date","uniqueKey":"data.\\items.items.[INDEX].lot.oneOf.0.expiration_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","uniqueKey":"data.\\items.items.[INDEX].lot.oneOf.0.expiration_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].lot.oneOf.0.expiration_date","typeLabel":"string\u003cdate> | null"}},"uniqueKey":"data.\\items.items.[INDEX].lot.oneOf.0","typeLabel":"object"},{"type":"null","description":"Product lot information","properties":{"id":{"type":"integer"},"lot_number":{"type":"string"},"expiration_date":{"oneOf":[{"type":"string","format":"date"},{"type":"null","format":"date"}]}},"uniqueKey":"data.\\items.items.[INDEX].lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.\\items.items.[INDEX].lot","typeLabel":"object | null"}},"uniqueKey":"data.\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.\\items","typeLabel":"object[]"},"supplier":{"type":"object","properties":{"id":{"type":"integer","uniqueKey":"data.supplier.id","typeLabel":"integer"},"status":{"type":"integer","uniqueKey":"data.supplier.status","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"data.supplier.name","typeLabel":"string"},"description":{"type":"string","uniqueKey":"data.supplier.description","typeLabel":"string"},"street_address":{"type":"string","uniqueKey":"data.supplier.street_address","typeLabel":"string"},"city":{"type":"string","uniqueKey":"data.supplier.city","typeLabel":"string"},"state":{"type":"string","uniqueKey":"data.supplier.state","typeLabel":"string"},"zip":{"type":"string","uniqueKey":"data.supplier.zip","typeLabel":"string"},"country":{"type":"string","uniqueKey":"data.supplier.country","typeLabel":"string"},"contact_name":{"type":"string","uniqueKey":"data.supplier.contact_name","typeLabel":"string"},"contact_email":{"type":"string","uniqueKey":"data.supplier.contact_email","typeLabel":"string"},"contact_phone":{"type":"string","uniqueKey":"data.supplier.contact_phone","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","uniqueKey":"data.supplier.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","uniqueKey":"data.supplier.updated_at","typeLabel":"string\u003cdate-time>"},"custom_fields":{"type":"object","description":"Read-only map of the supplier's custom field values as label => value pairs. Always a JSON object; empty when no custom fields are set.","example":{"Region":"Southwest","Preferred Carrier":"UPS"},"uniqueKey":"data.supplier.custom_fields","typeLabel":"object"}},"uniqueKey":"data.supplier","typeLabel":"object"},"payments":{"type":"array","description":"Array of payments for this purchase order","items":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier for the payment","uniqueKey":"data.payments.items.[INDEX].id","typeLabel":"integer"},"payment_date":{"type":"string","format":"date","description":"Date of the payment","uniqueKey":"data.payments.items.[INDEX].payment_date","typeLabel":"string\u003cdate>"},"payment_type":{"type":"string","enum":["cash","credit_card","debit_card","check","bank_transfer"],"description":"Type of payment","uniqueKey":"data.payments.items.[INDEX].payment_type","typeLabel":"enum\u003cstring>"},"paid_amount":{"type":"number","format":"float","description":"Amount paid","uniqueKey":"data.payments.items.[INDEX].paid_amount","typeLabel":"number\u003cfloat>"},"remarks":{"oneOf":[{"type":"string","description":"Payment remarks or notes","uniqueKey":"data.payments.items.[INDEX].remarks.oneOf.0","typeLabel":"string"},{"type":"null","description":"Payment remarks or notes","uniqueKey":"data.payments.items.[INDEX].remarks.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.payments.items.[INDEX].remarks","typeLabel":"string | null"},"external_id":{"oneOf":[{"type":"string","description":"External payment reference ID","uniqueKey":"data.payments.items.[INDEX].external_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"External payment reference ID","uniqueKey":"data.payments.items.[INDEX].external_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.payments.items.[INDEX].external_id","typeLabel":"string | null"},"created_by":{"type":"object","description":"User who created the payment","properties":{"id":{"type":"integer","description":"User ID","uniqueKey":"data.payments.items.[INDEX].created_by.id","typeLabel":"integer"},"name":{"oneOf":[{"type":"string","description":"User full name","uniqueKey":"data.payments.items.[INDEX].created_by.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"User full name","uniqueKey":"data.payments.items.[INDEX].created_by.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.payments.items.[INDEX].created_by.name","typeLabel":"string | null"}},"uniqueKey":"data.payments.items.[INDEX].created_by","typeLabel":"object"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the payment was created","uniqueKey":"data.payments.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the payment was last updated","uniqueKey":"data.payments.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data.payments.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.payments","typeLabel":"object[]"},"ship_to":{"oneOf":[{"type":"object","description":"Shipping address information","properties":{"address_1":{"oneOf":[{"type":"string","description":"Primary street address","uniqueKey":"data.ship_to.oneOf.0.address_1.oneOf.0","typeLabel":"string"},{"type":"null","description":"Primary street address","uniqueKey":"data.ship_to.oneOf.0.address_1.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ship_to.oneOf.0.address_1","typeLabel":"string | null"},"address_2":{"oneOf":[{"type":"string","description":"Secondary address line","uniqueKey":"data.ship_to.oneOf.0.address_2.oneOf.0","typeLabel":"string"},{"type":"null","description":"Secondary address line","uniqueKey":"data.ship_to.oneOf.0.address_2.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ship_to.oneOf.0.address_2","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","description":"City name","uniqueKey":"data.ship_to.oneOf.0.city.oneOf.0","typeLabel":"string"},{"type":"null","description":"City name","uniqueKey":"data.ship_to.oneOf.0.city.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ship_to.oneOf.0.city","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","description":"State or province","uniqueKey":"data.ship_to.oneOf.0.state.oneOf.0","typeLabel":"string"},{"type":"null","description":"State or province","uniqueKey":"data.ship_to.oneOf.0.state.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ship_to.oneOf.0.state","typeLabel":"string | null"},"zip":{"oneOf":[{"type":"string","description":"ZIP or postal code","uniqueKey":"data.ship_to.oneOf.0.zip.oneOf.0","typeLabel":"string"},{"type":"null","description":"ZIP or postal code","uniqueKey":"data.ship_to.oneOf.0.zip.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ship_to.oneOf.0.zip","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","description":"Country name","uniqueKey":"data.ship_to.oneOf.0.country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country name","uniqueKey":"data.ship_to.oneOf.0.country.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ship_to.oneOf.0.country","typeLabel":"string | null"},"default_ship_to_address":{"oneOf":[{"type":"string","enum":["ship_to_address","warehouse"],"description":"Default shipping address preference","uniqueKey":"data.ship_to.oneOf.0.default_ship_to_address.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["ship_to_address","warehouse"],"description":"Default shipping address preference","uniqueKey":"data.ship_to.oneOf.0.default_ship_to_address.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ship_to.oneOf.0.default_ship_to_address","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"data.ship_to.oneOf.0","typeLabel":"object"},{"type":"null","description":"Shipping address information","properties":{"address_1":{"oneOf":[{"type":"string","description":"Primary street address"},{"type":"null","description":"Primary street address"}]},"address_2":{"oneOf":[{"type":"string","description":"Secondary address line"},{"type":"null","description":"Secondary address line"}]},"city":{"oneOf":[{"type":"string","description":"City name"},{"type":"null","description":"City name"}]},"state":{"oneOf":[{"type":"string","description":"State or province"},{"type":"null","description":"State or province"}]},"zip":{"oneOf":[{"type":"string","description":"ZIP or postal code"},{"type":"null","description":"ZIP or postal code"}]},"country":{"oneOf":[{"type":"string","description":"Country name"},{"type":"null","description":"Country name"}]},"default_ship_to_address":{"oneOf":[{"type":"string","enum":["ship_to_address","warehouse"],"description":"Default shipping address preference"},{"type":"null","enum":["ship_to_address","warehouse"],"description":"Default shipping address preference"}]}},"uniqueKey":"data.ship_to.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ship_to","typeLabel":"object | null"},"warehouse_id":{"oneOf":[{"type":"integer","description":"ID of the destination warehouse. Always present (null when the PO has no warehouse set).","uniqueKey":"data.warehouse_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"ID of the destination warehouse. Always present (null when the PO has no warehouse set).","uniqueKey":"data.warehouse_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.warehouse_id","typeLabel":"integer | null"},"location_id":{"oneOf":[{"type":"integer","description":"ID of the destination location within the warehouse. Always present (null when the PO has no location set).","uniqueKey":"data.location_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"ID of the destination location within the warehouse. Always present (null when the PO has no location set).","uniqueKey":"data.location_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.location_id","typeLabel":"integer | null"},"warehouse":{"oneOf":[{"type":"object","description":"Expanded warehouse object. Present when the warehouse relation is loaded (list and detail responses); omitted when the PO has no warehouse.","properties":{"id":{"type":"integer","uniqueKey":"data.warehouse.oneOf.0.id","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"data.warehouse.oneOf.0.name","typeLabel":"string"}},"uniqueKey":"data.warehouse.oneOf.0","typeLabel":"object"},{"type":"null","description":"Expanded warehouse object. Present when the warehouse relation is loaded (list and detail responses); omitted when the PO has no warehouse.","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"uniqueKey":"data.warehouse.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.warehouse","typeLabel":"object | null"},"location":{"oneOf":[{"type":"object","description":"Expanded location object. Present when the location relation is loaded (list and detail responses); omitted when the PO has no location.","properties":{"id":{"type":"integer","uniqueKey":"data.location.oneOf.0.id","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"data.location.oneOf.0.name","typeLabel":"string"}},"uniqueKey":"data.location.oneOf.0","typeLabel":"object"},{"type":"null","description":"Expanded location object. Present when the location relation is loaded (list and detail responses); omitted when the PO has no location.","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"uniqueKey":"data.location.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.location","typeLabel":"object | null"},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","uniqueKey":"data.tags.items.[INDEX].id","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"data.tags.items.[INDEX].name","typeLabel":"string"},"description":{"oneOf":[{"type":"string","uniqueKey":"data.tags.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tags.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tags.items.[INDEX].description","typeLabel":"string | null"},"icon":{"oneOf":[{"type":"string","uniqueKey":"data.tags.items.[INDEX].icon.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tags.items.[INDEX].icon.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tags.items.[INDEX].icon","typeLabel":"string | null"},"color":{"oneOf":[{"type":"string","uniqueKey":"data.tags.items.[INDEX].color.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.tags.items.[INDEX].color.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tags.items.[INDEX].color","typeLabel":"string | null"}},"uniqueKey":"data.tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.tags","typeLabel":"object[]"},"fulfillment_orders":{"type":"array","description":"Linked fulfillment orders. Present when the relation is loaded; deduplicated by ID.","items":{"type":"object","properties":{"id":{"type":"integer","uniqueKey":"data.fulfillment_orders.items.[INDEX].id","typeLabel":"integer"},"order_number":{"oneOf":[{"type":"string","uniqueKey":"data.fulfillment_orders.items.[INDEX].order_number.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.fulfillment_orders.items.[INDEX].order_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.fulfillment_orders.items.[INDEX].order_number","typeLabel":"string | null"},"order_status":{"oneOf":[{"type":"string","uniqueKey":"data.fulfillment_orders.items.[INDEX].order_status.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.fulfillment_orders.items.[INDEX].order_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.fulfillment_orders.items.[INDEX].order_status","typeLabel":"string | null"}},"uniqueKey":"data.fulfillment_orders.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.fulfillment_orders","typeLabel":"object[]"},"custom_fields":{"type":"object","description":"Custom field values on the purchase order as label => value pairs. Field definitions are available via `GET /custom-fields?object_type=purchase-orders`; values can also be read and written via `/purchase-orders/{id}/custom-fields`.","additionalProperties":true,"uniqueKey":"data.custom_fields","typeLabel":"object"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":123,"order_numbers":["\u003cstring>"],"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","order_status":"active","order_date":"2023-12-25","invoice_date":"2023-12-25","arrival_due_date":"2023-12-25","requested_ship_date":"2023-12-25","original_arrival_due_date":"2023-12-25","shipment_type":"Air","override_transit_days":123,"order_type":123,"incoterm":"\u003cstring>","tracking_info":"\u003cstring>","payment_terms":"\u003cstring>","supplier_id":123,"item_count":123,"total_qty_ordered":123,"total_qty_received":123,"total_qty_remaining":123,"receipt_status":"awaiting_shipment","order_cost":123,"total_tax":123,"total_shipping_cost":123,"total_cost":123,"total_paid":123,"total_due":123,"total_volume_cbm":123,"total_weight_kg":123,"lines_missing_dimensions":123,"volume_target_cbm":123,"volume_remaining_cbm":123,"volume_fill_percent":123,"down_payment":123,"public_note":"\u003cstring>","private_note":"\u003cstring>","starred":true,"items":[{"id":123,"purchase_order_id":123,"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","quantity":123,"unit_price":123,"unit":"\u003cstring>","tax":123,"discount_amount":123,"line_total":123,"expected_ship_date":"2023-12-25","expected_arrival_date":"2023-12-25","requested_ship_date":"2023-12-25","arrival_due_date":"2023-12-25","shipment_type":"Air","original_arrival_due_date":"2023-12-25","override_transit_days":123,"quantity_received":123,"received_quantity":123,"quantity_ordered":123,"quantity_shipped":123,"quantity_billed":123,"quantity_allocated":123,"quantity_released":123,"under_covered_quantity":123,"remaining_to_ship":123,"remaining_to_receive":123,"open_quantity":40,"closed_at":null,"close_reason":null,"available_to_allocate":123,"volume_cbm":123,"line_volume_cbm":123,"weight_kg":123,"line_weight_kg":123,"allocations":[{"sales_order_id":123,"sales_order_number":"\u003cstring>","quantity_allocated":123,"quantity_released":123,"peg_ids":[123]}],"source_sku":"\u003cstring>","product":{"id":123,"name":"\u003cstring>","description":"\u003cstring>","retail_price":123,"wholesale_price":123,"unit_cost":123,"product_weight":123,"product_length":123,"product_width":123,"product_height":123,"sellable":true,"discontinued":true,"image_url":"\u003cstring>","variant_attributes":{},"sku":"\u003cstring>","upc":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z"},"base_unit_of_measure":{"id":123,"name":"\u003cstring>","abbreviation":"\u003cstring>"},"ordered_unit_of_measure":{"id":123,"name":"\u003cstring>","abbreviation":"\u003cstring>"},"lot":{"id":123,"lot_number":"\u003cstring>","expiration_date":"2023-12-25"}}],"supplier":{"id":123,"status":123,"name":"\u003cstring>","description":"\u003cstring>","street_address":"\u003cstring>","city":"\u003cstring>","state":"\u003cstring>","zip":"\u003cstring>","country":"\u003cstring>","contact_name":"\u003cstring>","contact_email":"\u003cstring>","contact_phone":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","custom_fields":{"Region":"Southwest","Preferred Carrier":"UPS"}},"payments":[{"id":123,"payment_date":"2023-12-25","payment_type":"cash","paid_amount":123,"remarks":"\u003cstring>","external_id":"\u003cstring>","created_by":{"id":123,"name":"\u003cstring>"},"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z"}],"ship_to":{"address_1":"\u003cstring>","address_2":"\u003cstring>","city":"\u003cstring>","state":"\u003cstring>","zip":"\u003cstring>","country":"\u003cstring>","default_ship_to_address":"ship_to_address"},"warehouse_id":123,"location_id":123,"warehouse":{"id":123,"name":"\u003cstring>"},"location":{"id":123,"name":"\u003cstring>"},"tags":[{"id":123,"name":"\u003cstring>","description":"\u003cstring>","icon":"\u003cstring>","color":"\u003cstring>"}],"fulfillment_orders":[{"id":123,"order_number":"\u003cstring>","order_status":"\u003cstring>"}],"custom_fields":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"e2fcb3d2-b6ac-4b15-8e5f-b0e67ed9b8c4":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d1eb9336-e153-4dc6-a17a-ea5e125709ff":{"description":"Purchase order not found","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"8402e015-5730-4faa-aa56-21165f9c5187":{"description":"Conflict - the purchase order is not active and cannot accept new line items","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"479824e4-1654-4d3d-89d0-30ae78420182":{"description":"Unprocessable entity - validation error (e.g. a line item references a non-inventory product)","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e08de1e8-a489-473c-9ef1-5b04fcd79203":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"2e4be249-9cab-4b20-9acd-7b153d825b1d":{"url":"https://{companyName}.api.joinluminous.com/external/api/v1","variables":{"companyName":{"default":"companyName","description":"Your company-specific subdomain"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/build.yaml"},"subdomain":"luminous-2ace3a9f","siteName":"Luminous API Documentation","title":"Append line items to a purchase order - Luminous API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T01:19:29.792Z","originalFileLocation":"api-reference/purchase-orders/append-line-items-to-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=\"Append one or more line items to an existing active purchase order without pruning any existing lines. This is the additive counterpart to PUT /purchase-orders/{id}, which is replace-all (any omitted line is deleted). The appended lines go through the same builders as POST /purchase-orders — unit-of-measure conversion, incoming-stock increment, cost recompute, and lot / custom-field / tag handling are identical to create — and the purchase order header totals (order_cost, order_quantity, item_count, tax/shipping) are recalculated afterward. Every appended line must reference an inventory-tracked product (type PRODUCT or KIT). Non-inventory items (e.g. service or fee SKUs) are rejected with a 422 on items.{index}.product before anything is written — record those charges as an extra cost on the purchase order instead. Only active purchase orders accept new lines; a 409 Conflict is returned for completed / received / deleted orders. \u0026gt; Note: This endpoint is part of the container / Purchase-to-Order workflow and is gated by \u0026gt; the PURCHASE_TO_ORDER feature flag. Contact Luminous to have it enabled for your tenant.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Luminous API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/luminous-2ace3a9f/ivyXegpKZrRUHP54/_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/luminous-2ace3a9f/ivyXegpKZrRUHP54/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/luminous-2ace3a9f/ivyXegpKZrRUHP54/_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/luminous-2ace3a9f/ivyXegpKZrRUHP54/_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/luminous-2ace3a9f/ivyXegpKZrRUHP54/_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/luminous-2ace3a9f/ivyXegpKZrRUHP54/_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/luminous-2ace3a9f/ivyXegpKZrRUHP54/_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/luminous-2ace3a9f/ivyXegpKZrRUHP54/_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/luminous-2ace3a9f/ivyXegpKZrRUHP54/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Append line items to a purchase order - Luminous API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Append one or more line items to an existing active purchase order without pruning any existing lines. This is the additive counterpart to PUT /purchase-orders/{id}, which is replace-all (any omitted line is deleted). The appended lines go through the same builders as POST /purchase-orders — unit-of-measure conversion, incoming-stock increment, cost recompute, and lot / custom-field / tag handling are identical to create — and the purchase order header totals (order_cost, order_quantity, item_count, tax/shipping) are recalculated afterward. Every appended line must reference an inventory-tracked product (type PRODUCT or KIT). Non-inventory items (e.g. service or fee SKUs) are rejected with a 422 on items.{index}.product before anything is written — record those charges as an extra cost on the purchase order instead. Only active purchase orders accept new lines; a 409 Conflict is returned for completed / received / deleted orders. \u0026gt; Note: This endpoint is part of the container / Purchase-to-Order workflow and is gated by \u0026gt; the PURCHASE_TO_ORDER feature flag. Contact Luminous to have it enabled for your tenant.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Luminous API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://luminous-2ace3a9f.mintlify.app/_mintlify/api/og/v2?division=Purchase+Orders\u0026amp;title=Append+line+items+to+a+purchase+order\u0026amp;description=Append+one+or+more+line+items+to+an+existing+**active**+purchase+order+without+pruning+any%0Aexisting+lines.+This+is+the+additive+counterpart+to+%60PUT+%2Fpurchase-or\u0026amp;theme=4f5a20d55320e94ca48b4717\u0026amp;signature=31191a018be5599e461d69310992f3aadc2ebd56469603387e738dccb8de3c7b\">\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=\"Append line items to a purchase order - Luminous API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Append one or more line items to an existing active purchase order without pruning any existing lines. This is the additive counterpart to PUT /purchase-orders/{id}, which is replace-all (any omitted line is deleted). The appended lines go through the same builders as POST /purchase-orders — unit-of-measure conversion, incoming-stock increment, cost recompute, and lot / custom-field / tag handling are identical to create — and the purchase order header totals (order_cost, order_quantity, item_count, tax/shipping) are recalculated afterward. Every appended line must reference an inventory-tracked product (type PRODUCT or KIT). Non-inventory items (e.g. service or fee SKUs) are rejected with a 422 on items.{index}.product before anything is written — record those charges as an extra cost on the purchase order instead. Only active purchase orders accept new lines; a 409 Conflict is returned for completed / received / deleted orders. \u0026gt; Note: This endpoint is part of the container / Purchase-to-Order workflow and is gated by \u0026gt; the PURCHASE_TO_ORDER feature flag. Contact Luminous to have it enabled for your tenant.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://luminous-2ace3a9f.mintlify.app/_mintlify/api/og/v2?division=Purchase+Orders\u0026amp;title=Append+line+items+to+a+purchase+order\u0026amp;description=Append+one+or+more+line+items+to+an+existing+**active**+purchase+order+without+pruning+any%0Aexisting+lines.+This+is+the+additive+counterpart+to+%60PUT+%2Fpurchase-or\u0026amp;theme=4f5a20d55320e94ca48b4717\u0026amp;signature=31191a018be5599e461d69310992f3aadc2ebd56469603387e738dccb8de3c7b\">\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/luminous-2ace3a9f/ivyXegpKZrRUHP54/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Luminous API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7787FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-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/append-line-items-to-a-purchase-order.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.joinluminous.com/#organization\",\"name\":\"Luminous API Documentation\",\"url\":\"https://docs.joinluminous.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/luminous-2ace3a9f/M8Q_jpCZcjsbRx58/logo/light.svg?fit=max\u0026auto=format\u0026n=M8Q_jpCZcjsbRx58\u0026q=85\u0026s=d932f2bcd17b4ecf6a0315882a7cf660\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.joinluminous.com#website\",\"name\":\"Luminous API Documentation\",\"url\":\"https://docs.joinluminous.com\",\"publisher\":{\"@id\":\"https://docs.joinluminous.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order#webpage\",\"url\":\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order\",\"name\":\"Append line items to a purchase order\",\"description\":\"Append one or more line items to an existing active purchase order without pruning any existing lines. This is the additive counterpart to PUT /purchase-orders/{id}, which is replace-all (any omitted line is deleted). The appended lines go through the same builders as POST /purchase-orders — unit-of-measure conversion, incoming-stock increment, cost recompute, and lot / custom-field / tag handling are identical to create — and the purchase order header totals (order_cost, order_quantity, item_count, tax/shipping) are recalculated afterward. Every appended line must reference an inventory-tracked product (type PRODUCT or KIT). Non-inventory items (e.g. service or fee SKUs) are rejected with a 422 on items.{index}.product before anything is written — record those charges as an extra cost on the purchase order instead. Only active purchase orders accept new lines; a 409 Conflict is returned for completed / received / deleted orders. > Note: This endpoint is part of the container / Purchase-to-Order workflow and is gated by > the PURCHASE_TO_ORDER feature flag. Contact Luminous to have it enabled for your tenant.\",\"dateModified\":\"2026-11-06T01:19:29.792Z\",\"isPartOf\":{\"@id\":\"https://docs.joinluminous.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Purchasing\",\"item\":\"https://docs.joinluminous.com/api-reference/purchase-orders/purchase-orders\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Purchase Orders\",\"item\":\"https://docs.joinluminous.com/api-reference/purchase-orders/purchase-orders\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Append line items to a purchase order\",\"item\":\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order#apireference\",\"headline\":\"Append line items to a purchase order\",\"name\":\"Append line items to a purchase order\",\"description\":\"Append one or more line items to an existing active purchase order without pruning any existing lines. This is the additive counterpart to PUT /purchase-orders/{id}, which is replace-all (any omitted line is deleted). The appended lines go through the same builders as POST /purchase-orders — unit-of-measure conversion, incoming-stock increment, cost recompute, and lot / custom-field / tag handling are identical to create — and the purchase order header totals (order_cost, order_quantity, item_count, tax/shipping) are recalculated afterward. Every appended line must reference an inventory-tracked product (type PRODUCT or KIT). Non-inventory items (e.g. service or fee SKUs) are rejected with a 422 on items.{index}.product before anything is written — record those charges as an extra cost on the purchase order instead. Only active purchase orders accept new lines; a 409 Conflict is returned for completed / received / deleted orders. > Note: This endpoint is part of the container / Purchase-to-Order workflow and is gated by > the PURCHASE_TO_ORDER feature flag. Contact Luminous to have it enabled for your tenant.\",\"url\":\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order\",\"mainEntityOfPage\":{\"@id\":\"https://docs.joinluminous.com/api-reference/purchase-orders/append-line-items-to-a-purchase-order#webpage\"},\"dateModified\":\"2026-11-06T01:19:29.792Z\",\"publisher\":{\"@id\":\"https://docs.joinluminous.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.joinluminous.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Luminous API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Luminous API Documentation","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/quickstart"}]},{"anchor":"API Reference","icon":"square-terminal","groups":[{"group":"Products \u0026 Catalog","pages":[{"group":"Products","pages":[{"title":"Products","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products","href":"/api-reference/products/products"},{"title":"Export products (cursor pagination)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/export","href":"/api-reference/products/export-products-cursor-pagination"},{"title":"Single product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/{id}","href":"/api-reference/products/single-product"},{"title":"Create a product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /products","href":"/api-reference/products/create-a-product"},{"title":"Create or update product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /products","href":"/api-reference/products/create-or-update-product"},{"title":"Update a product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /products/{id}","href":"/api-reference/products/update-a-product"},{"title":"Update a product (PUT)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /products/{id}","href":"/api-reference/products/update-a-product-put"},{"title":"Delete product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /products/{id}","href":"/api-reference/products/delete-product"},{"title":"Push a product to an OMS/WMS integration","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /products/{productId}/push","href":"/api-reference/products/push-a-product-to-an-omswms-integration"}]},{"group":"Alternate SKUs","pages":[{"title":"Add alternate SKU","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /products/alternate-sku","href":"/api-reference/products/add-alternate-sku"},{"title":"Delete alternate SKU","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /products/alternate-sku","href":"/api-reference/products/delete-alternate-sku"}]},{"group":"Product Substitutions","pages":[{"title":"Add product substitution","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /products/{productId}/substitutions","href":"/api-reference/products/add-product-substitution"},{"title":"Remove product substitution","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /products/{productId}/substitutions/{substitutionId}","href":"/api-reference/products/remove-product-substitution"}]},{"group":"Product Builder Profiles","pages":[{"title":"List product builder profiles","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /product-profiles","href":"/api-reference/products/list-product-builder-profiles"},{"title":"Create a product builder profile","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /product-profiles","href":"/api-reference/products/create-a-product-builder-profile"},{"title":"Get a product builder profile","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /product-profiles/{productProfileId}","href":"/api-reference/products/get-a-product-builder-profile"},{"title":"Update a product builder profile","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /product-profiles/{productProfileId}","href":"/api-reference/products/update-a-product-builder-profile"},{"title":"Delete a product builder profile","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /product-profiles/{productProfileId}","href":"/api-reference/products/delete-a-product-builder-profile"},{"title":"Get a product profile with builder metadata","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /product-profiles/{productProfileId}/resolved","href":"/api-reference/products/get-a-product-profile-with-builder-metadata"}]},{"group":"B2B Product Templates","pages":[{"title":"List B2B product templates","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /b2b-product-templates","href":"/api-reference/products/list-b2b-product-templates"},{"title":"Create B2B product template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /b2b-product-templates","href":"/api-reference/products/create-b2b-product-template"},{"title":"Get the SKUs and kits on a B2B product template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /b2b-product-templates/{templateId}/items","href":"/api-reference/products/get-the-skus-and-kits-on-a-b2b-product-template"},{"title":"Update B2B product template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /b2b-product-templates/{templateId}","href":"/api-reference/products/update-b2b-product-template"},{"title":"Add or remove SKUs across B2B product templates","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /b2b-product-templates/bulk-items","href":"/api-reference/products/add-or-remove-skus-across-b2b-product-templates"}]},{"group":"Distribution Templates","pages":[{"title":"List distribution template candidates for a product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/{productId}/distribution-template/candidates","href":"/api-reference/products/list-distribution-template-candidates-for-a-product"},{"title":"Assign a distribution template to a product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /products/{productId}/distribution-template","href":"/api-reference/products/assign-a-distribution-template-to-a-product"},{"title":"Clear a product's distribution template assignment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /products/{productId}/distribution-template","href":"/api-reference/products/clear-a-products-distribution-template-assignment"},{"title":"Assign a size-curve category to a product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /products/{productId}/distribution-template-category","href":"/api-reference/products/assign-a-size-curve-category-to-a-product"},{"title":"Clear a product's size-curve category","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /products/{productId}/distribution-template-category","href":"/api-reference/products/clear-a-products-size-curve-category"}]},{"group":"Product Pricing","pages":[{"title":"All products pricing","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/pricing","href":"/api-reference/products/all-products-pricing"},{"title":"Single product pricing","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/{productId}/pricing","href":"/api-reference/products/single-product-pricing"},{"title":"All products with company pricing","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/company-pricing","href":"/api-reference/products/all-products-with-company-pricing"},{"title":"Single product with company pricing","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/{productId}/company-pricing","href":"/api-reference/products/single-product-with-company-pricing"}]},{"group":"BOMs","pages":[{"title":"BOMs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /boms","href":"/api-reference/boms/boms"},{"title":"Create a BOM","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /boms","href":"/api-reference/boms/create-a-bom"},{"title":"Single BOM","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /boms/{bomId}","href":"/api-reference/boms/single-bom"},{"title":"Update a BOM","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /boms/{bomId}","href":"/api-reference/boms/update-a-bom"},{"title":"Delete BOM","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /boms/{bomId}","href":"/api-reference/boms/delete-bom"},{"title":"Attach BOMs to a product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /products/{productId}/boms","href":"/api-reference/products/attach-boms-to-a-product"},{"title":"Detach BOMs from a product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /products/{productId}/boms","href":"/api-reference/products/detach-boms-from-a-product"},{"title":"Bulk attach BOMs to products","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /products/bulk-attach-boms","href":"/api-reference/products/bulk-attach-boms-to-products"}]},{"group":"Labels","pages":[{"title":"Render ZPL label","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /labels/render","href":"/api-reference/labels/render-zpl-label"}]},{"group":"Imports","pages":[{"title":"List import types","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /imports/types","href":"/api-reference/imports/list-import-types"},{"title":"Field schema for an import type","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /imports/specs","href":"/api-reference/imports/field-schema-for-an-import-type"},{"title":"AI-suggested column mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /imports/mapping-suggestions","href":"/api-reference/imports/ai-suggested-column-mapping"},{"title":"List imports","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /imports","href":"/api-reference/imports/list-imports"},{"title":"Submit a bulk import","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /imports","href":"/api-reference/imports/submit-a-bulk-import"},{"title":"Get import by ID","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /imports/{id}","href":"/api-reference/imports/get-import-by-id"},{"title":"Download the original import file","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /imports/{id}/download","href":"/api-reference/imports/download-the-original-import-file"},{"title":"Preview the import file rows","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /imports/{id}/preview","href":"/api-reference/imports/preview-the-import-file-rows"},{"title":"Download import errors","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /imports/{id}/errors","href":"/api-reference/imports/download-import-errors"},{"title":"Resume an incomplete import","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /imports/{id}/resume","href":"/api-reference/imports/resume-an-incomplete-import"},{"title":"Retry errored rows","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /imports/{id}/retry-errors","href":"/api-reference/imports/retry-errored-rows"},{"title":"Copy an import","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /imports/{id}/copy","href":"/api-reference/imports/copy-an-import"}]}]},{"group":"Companies \u0026 Contacts","pages":[{"group":"Companies","pages":[{"title":"Companies","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies","href":"/api-reference/companies/companies"},{"title":"Create a company","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies","href":"/api-reference/companies/create-a-company"},{"title":"Company","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies/{companyId}","href":"/api-reference/companies/company"},{"title":"Update a company","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies/{companyId}","href":"/api-reference/companies/update-a-company"},{"title":"Delete a company","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /companies/{companyId}","href":"/api-reference/companies/delete-a-company"},{"title":"List shipping addresses","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies/{companyId}/shipping-addresses","href":"/api-reference/companies/list-shipping-addresses"},{"title":"Create shipping address","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies/{companyId}/shipping-addresses","href":"/api-reference/companies/create-shipping-address"},{"title":"Update shipping address","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies/{companyId}/shipping-addresses/{shippingAddressId}","href":"/api-reference/companies/update-shipping-address"},{"title":"Delete shipping address","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /companies/{companyId}/shipping-addresses/{shippingAddressId}","href":"/api-reference/companies/delete-shipping-address"},{"title":"Company Contacts","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies/{companyId}/contacts","href":"/api-reference/companies/company-contacts"},{"title":"Company Product Price Overrides","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies/{companyId}/product-price-overrides","href":"/api-reference/companies/company-product-price-overrides"},{"title":"Create company product price override","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies/{companyId}/product-price-overrides","href":"/api-reference/companies/create-company-product-price-override"},{"title":"Bulk upsert company product price overrides","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies/{companyId}/product-price-overrides/bulk","href":"/api-reference/companies/bulk-upsert-company-product-price-overrides"},{"title":"Update company product price override","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies/{companyId}/product-price-overrides/{overrideId}","href":"/api-reference/companies/update-company-product-price-override"},{"title":"Delete company product price override","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /companies/{companyId}/product-price-overrides/{overrideId}","href":"/api-reference/companies/delete-company-product-price-override"},{"title":"List company price groups","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies/{companyId}/price-groups","href":"/api-reference/companies/list-company-price-groups"},{"title":"Assign company price group","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies/{companyId}/price-groups","href":"/api-reference/companies/assign-company-price-group"},{"title":"Bulk assign company price groups","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /companies/{companyId}/price-groups/bulk","href":"/api-reference/companies/bulk-assign-company-price-groups"},{"title":"Delete company price group","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /companies/{companyId}/price-groups/{assignmentId}","href":"/api-reference/companies/delete-company-price-group"},{"title":"Company Products","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies/{companyId}/products","href":"/api-reference/companies/company-products"},{"title":"List invoices for a company","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies/{companyId}/invoices","href":"/api-reference/companies/list-invoices-for-a-company"},{"title":"List sales orders for a company","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /companies/{companyId}/sales-orders","href":"/api-reference/companies/list-sales-orders-for-a-company"}]},{"group":"Contacts","pages":[{"title":"Contacts","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /contacts","href":"/api-reference/contacts/contacts"},{"title":"Create a contact","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /contacts","href":"/api-reference/contacts/create-a-contact"},{"title":"Single contact","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /contacts/{contactId}","href":"/api-reference/contacts/single-contact"},{"title":"Update a contact","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /contacts/{contactId}","href":"/api-reference/contacts/update-a-contact"},{"title":"Set or rotate B2B portal password","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /contacts/{contactId}/b2b-portal-password","href":"/api-reference/contacts/set-or-rotate-b2b-portal-password"},{"title":"Delete a contact","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /contacts/{contactId}","href":"/api-reference/contacts/delete-a-contact"}]},{"group":"Suppliers","pages":[{"title":"Suppliers","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /suppliers","href":"/api-reference/suppliers/suppliers"},{"title":"Create a supplier","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /suppliers","href":"/api-reference/suppliers/create-a-supplier"},{"title":"Supplier","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /suppliers/{supplierId}","href":"/api-reference/suppliers/supplier"},{"title":"Update a supplier","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /suppliers/{supplierId}","href":"/api-reference/suppliers/update-a-supplier"},{"title":"Partially update a supplier","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /suppliers/{supplierId}","href":"/api-reference/suppliers/partially-update-a-supplier"},{"title":"Delete a supplier","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /suppliers/{supplierId}","href":"/api-reference/suppliers/delete-a-supplier"},{"title":"Supplier contacts","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /suppliers/{supplierId}/contacts","href":"/api-reference/suppliers/supplier-contacts"},{"title":"Add a supplier contact","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /suppliers/{supplierId}/contacts","href":"/api-reference/suppliers/add-a-supplier-contact"}]},{"group":"Supplier SKUs","pages":[{"title":"List supplier SKUs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /supplier-skus","href":"/api-reference/supplier-skus/list-supplier-skus"},{"title":"Create a supplier SKU","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /supplier-skus","href":"/api-reference/supplier-skus/create-a-supplier-sku"},{"title":"Bulk upsert supplier SKUs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /supplier-skus/bulk","href":"/api-reference/supplier-skus/bulk-upsert-supplier-skus"},{"title":"Get a supplier SKU","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /supplier-skus/{supplierProductSkuId}","href":"/api-reference/supplier-skus/get-a-supplier-sku"},{"title":"Update a supplier SKU","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /supplier-skus/{supplierProductSkuId}","href":"/api-reference/supplier-skus/update-a-supplier-sku"},{"title":"Delete a supplier SKU","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /supplier-skus/{supplierProductSkuId}","href":"/api-reference/supplier-skus/delete-a-supplier-sku"}]},{"group":"Pricing","pages":[{"title":"Price Schedules","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /price-schedules","href":"/api-reference/pricing/price-schedules"},{"title":"Price Schedule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /price-schedules/{scheduleId}","href":"/api-reference/pricing/price-schedule"},{"title":"Price Levels","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /price-levels","href":"/api-reference/pricing/price-levels"},{"title":"Price Level","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /price-levels/{levelId}","href":"/api-reference/pricing/price-level"}]}]},{"group":"Inventory \u0026 Warehousing","pages":[{"group":"Warehouses","pages":[{"title":"Warehouses","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /warehouses","href":"/api-reference/locations/warehouses"},{"title":"Create warehouse","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /warehouses","href":"/api-reference/locations/create-warehouse"},{"title":"Get warehouse by ID","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /warehouses/{warehouseId}","href":"/api-reference/locations/get-warehouse-by-id"},{"title":"Update warehouse","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /warehouses/{warehouseId}","href":"/api-reference/locations/update-warehouse"},{"title":"Delete warehouse","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /warehouses/{warehouseId}","href":"/api-reference/locations/delete-warehouse"}]},{"group":"Warehouse Groups","pages":[{"title":"Warehouse groups","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /warehouse-groups","href":"/api-reference/locations/warehouse-groups"},{"title":"Create warehouse group","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /warehouse-groups","href":"/api-reference/locations/create-warehouse-group"},{"title":"Get warehouse group by ID","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /warehouse-groups/{id}","href":"/api-reference/locations/get-warehouse-group-by-id"},{"title":"Update warehouse group","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /warehouse-groups/{id}","href":"/api-reference/locations/update-warehouse-group"},{"title":"Delete warehouse group","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /warehouse-groups/{id}","href":"/api-reference/locations/delete-warehouse-group"}]},{"group":"Locations","pages":[{"title":"Locations","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /locations","href":"/api-reference/locations/locations"},{"title":"Create location","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /locations","href":"/api-reference/locations/create-location"},{"title":"Get location by ID","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /locations/{locationId}","href":"/api-reference/locations/get-location-by-id"},{"title":"Update location","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /locations/{locationId}","href":"/api-reference/locations/update-location"},{"title":"Delete location","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /locations/{locationId}","href":"/api-reference/locations/delete-location"}]},{"group":"Inventory","pages":[{"title":"Inventory stock","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/stocks","href":"/api-reference/inventory/inventory-stock"},{"title":"Export inventory stock (cursor pagination)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/stocks/export","href":"/api-reference/inventory/export-inventory-stock-cursor-pagination"},{"title":"List cost layers","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/cost-layers","href":"/api-reference/inventory/list-cost-layers"},{"title":"Get cost layer by ID","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/cost-layers/{costLayerId}","href":"/api-reference/inventory/get-cost-layer-by-id"},{"title":"Adjust inventory stock","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /inventory/adjustments","href":"/api-reference/inventory/adjust-inventory-stock"},{"title":"Inventory adjustments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/adjustments","href":"/api-reference/inventory/inventory-adjustments"},{"title":"Inventory adjustment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/adjustments/{adjustmentId}","href":"/api-reference/inventory/inventory-adjustment"},{"title":"Transfer inventory between locations (PickFlow)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/inventory/transfers","href":"/api-reference/inventory/transfer-inventory-between-locations-pickflow"},{"title":"Recount a bin/lot row (PickFlow)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/inventory/recount","href":"/api-reference/inventory/recount-a-binlot-row-pickflow"}]},{"group":"Lots","pages":[{"title":"Create a lot","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /lots","href":"/api-reference/lots/create-a-lot"},{"title":"Get a lot","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /lots/{lotId}","href":"/api-reference/lots/get-a-lot"},{"title":"Update a lot","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /lots/{lotId}","href":"/api-reference/lots/update-a-lot"},{"title":"Delete a lot","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /lots/{lotId}","href":"/api-reference/lots/delete-a-lot"},{"title":"Bulk delete lots","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /lots/bulk-delete","href":"/api-reference/lots/bulk-delete-lots"},{"title":"List a product's lots","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/{productId}/lots","href":"/api-reference/lots/list-a-products-lots"},{"title":"List a product's Qty Log movements","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /products/{productId}/qty-logs","href":"/api-reference/lots/list-a-products-qty-log-movements"}]},{"group":"Transfer Orders","pages":[{"title":"Transfer orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /transfer-orders","href":"/api-reference/transfer-orders/transfer-orders"},{"title":"Create a transfer order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /transfer-orders","href":"/api-reference/transfer-orders/create-a-transfer-order"},{"title":"Single transfer order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /transfer-orders/{id}","href":"/api-reference/transfer-orders/single-transfer-order"},{"title":"Update a draft transfer order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /transfer-orders/{id}","href":"/api-reference/transfer-orders/update-a-draft-transfer-order"},{"title":"Post a draft transfer order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /transfer-orders/{id}/post","href":"/api-reference/transfer-orders/post-a-draft-transfer-order"},{"title":"Push transfer order as inbound shipment to WMS","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /transfer-orders/{id}/push-inbound-shipment","href":"/api-reference/transfer-orders/push-transfer-order-as-inbound-shipment-to-wms"},{"title":"List transfer routes","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /transfer-routes","href":"/api-reference/transfer-orders/list-transfer-routes"},{"title":"Create or replace a transfer route","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /transfer-routes","href":"/api-reference/transfer-orders/create-or-replace-a-transfer-route"},{"title":"Create or replace a transfer route (PATCH alias)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /transfer-routes","href":"/api-reference/transfer-orders/create-or-replace-a-transfer-route-patch-alias"},{"title":"Get a transfer route","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /transfer-routes/{transferRouteId}","href":"/api-reference/transfer-orders/get-a-transfer-route"},{"title":"Update a transfer route","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /transfer-routes/{transferRouteId}","href":"/api-reference/transfer-orders/update-a-transfer-route"},{"title":"Delete a transfer route","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /transfer-routes/{transferRouteId}","href":"/api-reference/transfer-orders/delete-a-transfer-route"}]},{"group":"Inbound Shipments","pages":[{"title":"Inbound shipments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inbound-shipments","href":"/api-reference/inbound-shipments/inbound-shipments"},{"title":"Get inbound shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inbound-shipments/{id}","href":"/api-reference/inbound-shipments/get-inbound-shipment"},{"title":"Amazon FBA inbound plans not yet shipped","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inbound-plans","href":"/api-reference/inbound-shipments/amazon-fba-inbound-plans-not-yet-shipped"}]}]},{"group":"Purchasing","pages":[{"group":"Purchase Orders","pages":[{"title":"Purchase orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders","href":"/api-reference/purchase-orders/purchase-orders"},{"title":"Create a new purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders","href":"/api-reference/purchase-orders/create-a-new-purchase-order"},{"title":"Single purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/{id}","href":"/api-reference/purchase-orders/single-purchase-order"},{"title":"Update a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /purchase-orders/{id}","href":"/api-reference/purchase-orders/update-a-purchase-order"},{"title":"Delete a purchase order","description":"Delete a purchase order. All associated stock counts and incoming quantities are automatically\nadjusted when the order is deleted.\n","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /purchase-orders/{id}","href":"/api-reference/purchase-orders/delete-a-purchase-order"},{"title":"Append line items to a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/items","href":"/api-reference/purchase-orders/append-line-items-to-a-purchase-order"},{"title":"Set or clear a purchase-order line's lot","description":"Assign a lot to a single purchase-order line item, or clear the one it already has, **ahead of\nreceiving**. The change is lot-only and stock-neutral — nothing is received, allocated, or costed\n— so an automated process can annotate the lots on an active purchase order without going through\nthe replace-all `PUT /purchase-orders/{id}`.\n\nProvide exactly one intent:\n\n- **Assign** — supply a lot identifier (`lot_id`, or `lot_number` / `lot_name`). By default the\n lot must already exist for the line's product; pass `create_lot: true` to create it from\n `lot_number` on the fly (optionally seeding `production_date`, `expiry_date` and\n `manufacturer_code`).\n- **Clear** — send `clear_lot: true` to unassign the line's current lot.\n\nUnassigning is **explicit**: an absent, empty, or `null` lot value is never read as a request to\nclear — you must send `clear_lot: true`. This protects unattended callers, where an unset template\nvariable (`\"lot_id\": \"\"`) would otherwise silently wipe a lot the office had already set. Send a\nlot identifier **or** `clear_lot`, never both.\n\nThe lot is resolved against the line's own product; a lot belonging to a different product, an\nunknown `lot_number` without `create_lot`, or a non-lot-tracked product all return `422`.\n","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /purchase-orders/{purchaseOrderId}/items/{lineItemId}/lot","href":"/api-reference/purchase-orders/set-or-clear-a-purchase-order-lines-lot"},{"title":"Close or reopen a purchase-order line","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /purchase-orders/{purchaseOrderId}/items/{lineItemId}/closed","href":"/api-reference/purchase-orders/close-or-reopen-a-purchase-order-line"},{"title":"Allocate a sales order onto a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/allocate","href":"/api-reference/purchase-orders/allocate-a-sales-order-onto-a-purchase-order"},{"title":"Reverse (unallocate) an allocation peg","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/reverse-allocation","href":"/api-reference/purchase-orders/reverse-unallocate-an-allocation-peg"},{"title":"Purchase order items","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/items","href":"/api-reference/purchase-orders/purchase-order-items"},{"title":"Create a payment for a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/payments","href":"/api-reference/purchase-orders/create-a-payment-for-a-purchase-order"},{"title":"Update a purchase order payment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /purchase-orders/{purchaseOrderId}/payments/{paymentId}","href":"/api-reference/purchase-orders/update-a-purchase-order-payment"},{"title":"Delete a purchase order payment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /purchase-orders/{purchaseOrderId}/payments/{paymentId}","href":"/api-reference/purchase-orders/delete-a-purchase-order-payment"},{"title":"Get billable lines for a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/{purchaseOrderId}/billable-lines","href":"/api-reference/purchase-orders/get-billable-lines-for-a-purchase-order"},{"title":"List payment obligations for a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/{purchaseOrderId}/payment-obligations","href":"/api-reference/purchase-orders/list-payment-obligations-for-a-purchase-order"},{"title":"Create a payment obligation for a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/payment-obligations","href":"/api-reference/purchase-orders/create-a-payment-obligation-for-a-purchase-order"},{"title":"Generate payment obligations for a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/payment-obligations/generate","href":"/api-reference/purchase-orders/generate-payment-obligations-for-a-purchase-order"},{"title":"Push purchase order as inbound shipment to WMS","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/push-inbound-shipment","href":"/api-reference/purchase-orders/push-purchase-order-as-inbound-shipment-to-wms"}]},{"group":"Purchase Order Shipments","pages":[{"title":"Purchase order shipments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-order-shipments","href":"/api-reference/purchase-order-shipments/purchase-order-shipments"},{"title":"Create purchase order shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-order-shipments","href":"/api-reference/purchase-order-shipments/create-purchase-order-shipment"},{"title":"Get purchase order shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-order-shipments/{id}","href":"/api-reference/purchase-order-shipments/get-purchase-order-shipment"},{"title":"Get purchase order shipment cartons","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-order-shipments/{id}/packages","href":"/api-reference/purchase-order-shipments/get-purchase-order-shipment-cartons"},{"title":"Suggest purchase order shipment cartons","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-order-shipments/{id}/packages/suggested","href":"/api-reference/purchase-order-shipments/suggest-purchase-order-shipment-cartons"},{"title":"Replace purchase order shipment cartons","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /purchase-order-shipments/{id}/packages","href":"/api-reference/purchase-order-shipments/replace-purchase-order-shipment-cartons"},{"title":"Push purchase order shipment as inbound shipment to WMS","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-order-shipments/{id}/push-inbound-shipment","href":"/api-reference/purchase-order-shipments/push-purchase-order-shipment-as-inbound-shipment-to-wms"},{"title":"Get purchase order shipment box labels","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-order-shipments/{id}/box-labels","href":"/api-reference/purchase-order-shipments/get-purchase-order-shipment-box-labels"},{"title":"List shipments for a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/{purchaseOrderId}/shipments","href":"/api-reference/purchase-order-shipments/list-shipments-for-a-purchase-order"},{"title":"Get shipment by purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/{purchaseOrderId}/shipments/{shipmentId}","href":"/api-reference/purchase-order-shipments/get-shipment-by-purchase-order"}]},{"group":"Supplier Portal","pages":[{"title":"List supplier acceptance responses","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/{purchaseOrderId}/supplier-acceptances","href":"/api-reference/supplier-portal/list-supplier-acceptance-responses"},{"title":"List supplier extra-cost requests","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/{purchaseOrderId}/supplier-extra-cost-requests","href":"/api-reference/supplier-portal/list-supplier-extra-cost-requests"},{"title":"List quality inspections for a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purchase-orders/{purchaseOrderId}/quality-inspections","href":"/api-reference/supplier-portal/list-quality-inspections-for-a-purchase-order"},{"title":"Mint and email a supplier portal link","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purchase-orders/{purchaseOrderId}/supplier-portal-link","href":"/api-reference/supplier-portal/mint-and-email-a-supplier-portal-link"},{"title":"Revoke a supplier's portal access","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /purchase-orders/{purchaseOrderId}/supplier-portal-access","href":"/api-reference/supplier-portal/revoke-a-suppliers-portal-access"}]},{"group":"Receiving Reports","pages":[{"title":"Receiving reports","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /receiving-reports","href":"/api-reference/receiving-reports/receiving-reports"},{"title":"Create a receiving report","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /receiving-reports","href":"/api-reference/receiving-reports/create-a-receiving-report"},{"title":"Single receiving report","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /receiving-reports/{id}","href":"/api-reference/receiving-reports/single-receiving-report"},{"title":"Correct a posted receiving-report line quantity","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /receiving-reports/items/{receivingReportItemId}/correct-quantity","href":"/api-reference/receiving-reports/correct-a-posted-receiving-report-line-quantity"},{"title":"Get billable lines for a receiving report","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /receiving-reports/{receivingReportId}/billable-lines","href":"/api-reference/receiving-reports/get-billable-lines-for-a-receiving-report"}]},{"group":"Payment Obligations","pages":[{"title":"Get payment obligations dashboard","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /payment-obligations/dashboard","href":"/api-reference/payment-obligations/get-payment-obligations-dashboard"},{"title":"List payment obligations","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /payment-obligations","href":"/api-reference/payment-obligations/list-payment-obligations"},{"title":"Get a payment obligation","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /payment-obligations/{id}","href":"/api-reference/payment-obligations/get-a-payment-obligation"},{"title":"Update a payment obligation","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /payment-obligations/{id}","href":"/api-reference/payment-obligations/update-a-payment-obligation"},{"title":"Update payment obligation status","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /payment-obligations/{id}/status","href":"/api-reference/payment-obligations/update-payment-obligation-status"},{"title":"Link a bill to a payment obligation","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /payment-obligations/{id}/link-bill","href":"/api-reference/payment-obligations/link-a-bill-to-a-payment-obligation"},{"title":"Unlink a bill from a payment obligation","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /payment-obligations/{id}/bills/{billId}","href":"/api-reference/payment-obligations/unlink-a-bill-from-a-payment-obligation"}]},{"group":"Cost Rules","pages":[{"title":"List cost rules","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /cost-rules","href":"/api-reference/cost-rules/list-cost-rules"},{"title":"Create a cost rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /cost-rules","href":"/api-reference/cost-rules/create-a-cost-rule"},{"title":"Single cost rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /cost-rules/{id}","href":"/api-reference/cost-rules/single-cost-rule"},{"title":"Update a cost rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /cost-rules/{id}","href":"/api-reference/cost-rules/update-a-cost-rule"},{"title":"Delete a cost rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /cost-rules/{id}","href":"/api-reference/cost-rules/delete-a-cost-rule"}]}]},{"group":"Sales \u0026 Fulfillment","pages":[{"group":"Sales Orders","pages":[{"title":"Sales orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-orders","href":"/api-reference/sales-orders/sales-orders"},{"title":"Create a new sales order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders","href":"/api-reference/sales-orders/create-a-new-sales-order"},{"title":"Export sales orders (incremental)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-orders/export","href":"/api-reference/sales-orders/export-sales-orders-incremental"},{"title":"Bulk refresh sales orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/bulk-refresh","href":"/api-reference/sales-orders/bulk-refresh-sales-orders"},{"title":"Single sales order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-orders/{id}","href":"/api-reference/sales-orders/single-sales-order"},{"title":"Update a sales order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /sales-orders/{id}","href":"/api-reference/sales-orders/update-a-sales-order"},{"title":"Get purchase-to-order allocation availability","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-orders/{salesOrderId}/allocation-availability","href":"/api-reference/sales-orders/get-purchase-to-order-allocation-availability"},{"title":"Set sales order lines' fulfillment priority list","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/items/fulfillment-priority-list","href":"/api-reference/sales-orders/set-sales-order-lines-fulfillment-priority-list"},{"title":"Preview a sales-order item remap","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-orders/{salesOrderId}/items/{salesOrderItemId}/remap-preview","href":"/api-reference/sales-orders/preview-a-sales-order-item-remap"},{"title":"Remap a sales-order item","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /sales-orders/{salesOrderId}/items/{salesOrderItemId}/remap","href":"/api-reference/sales-orders/remap-a-sales-order-item"},{"title":"Push fulfillment to order source","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/push-fulfillment","href":"/api-reference/sales-orders/push-fulfillment-to-order-source"},{"title":"Simulate fulfillment for a sales order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/simulate-fulfillment","href":"/api-reference/sales-orders/simulate-fulfillment-for-a-sales-order"},{"title":"Auto-generate fulfillment orders (synchronous)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/auto-generate-fulfillment-orders","href":"/api-reference/sales-orders/auto-generate-fulfillment-orders-synchronous"},{"title":"Create a fulfillment order (no stock checks)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/fulfillment-orders","href":"/api-reference/sales-orders/create-a-fulfillment-order-no-stock-checks"},{"title":"Refresh a sales order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/refresh","href":"/api-reference/sales-orders/refresh-a-sales-order"},{"title":"List sales order shipments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-order-shipments","href":"/api-reference/sales-orders/list-sales-order-shipments"},{"title":"Get shipments for a sales order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-orders/{salesOrderId}/shipments","href":"/api-reference/sales-orders/get-shipments-for-a-sales-order"},{"title":"Create a new shipment for a sales order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/shipments","href":"/api-reference/sales-orders/create-a-new-shipment-for-a-sales-order"},{"title":"Force-push shipment fulfillment to order source","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/shipments/{shipmentId}/force-push-source-fulfillment","href":"/api-reference/sales-orders/force-push-shipment-fulfillment-to-order-source"},{"title":"Create shipment packages","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/shipments/{shipmentId}/packages","href":"/api-reference/sales-orders/create-shipment-packages"},{"title":"List sales order attachments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-orders/{salesOrderId}/attachments","href":"/api-reference/sales-orders/list-sales-order-attachments"},{"title":"Upload a sales order attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /sales-orders/{salesOrderId}/attachments","href":"/api-reference/sales-orders/upload-a-sales-order-attachment"},{"title":"Download a sales order attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /sales-orders/{salesOrderId}/attachments/{attachmentId}/download","href":"/api-reference/sales-orders/download-a-sales-order-attachment"},{"title":"Delete a sales order attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /sales-orders/{salesOrderId}/attachments/{attachmentId}","href":"/api-reference/sales-orders/delete-a-sales-order-attachment"}]},{"group":"Fulfillment Orders","pages":[{"title":"Fulfillment orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-orders","href":"/api-reference/fulfillment-orders/fulfillment-orders"},{"title":"Simulate fulfillment-order generation (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/simulate","href":"/api-reference/fulfillment-orders/simulate-fulfillment-order-generation-bulk"},{"title":"Bulk delete fulfillment orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/bulk-delete","href":"/api-reference/fulfillment-orders/bulk-delete-fulfillment-orders"},{"title":"Get fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-orders/{id}","href":"/api-reference/fulfillment-orders/get-fulfillment-order"},{"title":"Delete fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /fulfillment-orders/{id}","href":"/api-reference/fulfillment-orders/delete-fulfillment-order"},{"title":"Push fulfillment order to OMS","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{id}/push","href":"/api-reference/fulfillment-orders/push-fulfillment-order-to-oms"},{"title":"Unpush fulfillment order from OMS","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{id}/unpush","href":"/api-reference/fulfillment-orders/unpush-fulfillment-order-from-oms"},{"title":"Reconcile source reference","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{id}/reconcile-source-reference","href":"/api-reference/fulfillment-orders/reconcile-source-reference"},{"title":"Remove sales order line from fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{id}/remove-so-item","href":"/api-reference/fulfillment-orders/remove-sales-order-line-from-fulfillment-order"},{"title":"Set custom field values on a fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /fulfillment-orders/{fulfillmentOrderId}/custom-fields","href":"/api-reference/fulfillment-orders/set-custom-field-values-on-a-fulfillment-order"},{"title":"Check fulfillment-order push readiness","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-orders/{fulfillmentOrderId}/push-readiness","href":"/api-reference/fulfillment-orders/check-fulfillment-order-push-readiness"},{"title":"List fulfillment-order activity logs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-orders/{fulfillmentOrderId}/activity-logs","href":"/api-reference/fulfillment-orders/list-fulfillment-order-activity-logs"},{"title":"Preview fulfillment-order push mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/push-preview","href":"/api-reference/fulfillment-orders/preview-fulfillment-order-push-mapping"},{"title":"Repair address and push fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/repair-and-push","href":"/api-reference/fulfillment-orders/repair-address-and-push-fulfillment-order"},{"title":"Create Shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{id}/shipments","href":"/api-reference/fulfillment-orders/create-shipment"},{"title":"Update fulfillment order notes","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /fulfillment-orders/{fulfillmentOrderId}/notes","href":"/api-reference/fulfillment-orders/update-fulfillment-order-notes"},{"title":"Get tags on a fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-orders/{fulfillmentOrderId}/tags","href":"/api-reference/fulfillment-orders/get-tags-on-a-fulfillment-order"},{"title":"Attach tag(s) to a fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/tags","href":"/api-reference/fulfillment-orders/attach-tags-to-a-fulfillment-order"},{"title":"Replace all tags on a fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /fulfillment-orders/{fulfillmentOrderId}/tags","href":"/api-reference/fulfillment-orders/replace-all-tags-on-a-fulfillment-order"},{"title":"Detach a tag from a fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /fulfillment-orders/{fulfillmentOrderId}/tags/{tag}","href":"/api-reference/fulfillment-orders/detach-a-tag-from-a-fulfillment-order"},{"title":"Hold fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/hold","href":"/api-reference/fulfillment-orders/hold-fulfillment-order"},{"title":"Release fulfillment order from hold","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/release","href":"/api-reference/fulfillment-orders/release-fulfillment-order-from-hold"},{"title":"Cancel fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/cancel","href":"/api-reference/fulfillment-orders/cancel-fulfillment-order"},{"title":"Mark fulfillment order as shipped","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/mark-shipped","href":"/api-reference/fulfillment-orders/mark-fulfillment-order-as-shipped"},{"title":"Set fulfillment order status","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /fulfillment-orders/{fulfillmentOrderId}/status","href":"/api-reference/fulfillment-orders/set-fulfillment-order-status"},{"title":"Update ship-by date","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /fulfillment-orders/{fulfillmentOrderId}/ship-by-date","href":"/api-reference/fulfillment-orders/update-ship-by-date"},{"title":"Freight account and booking defaults","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-orders/{fulfillmentOrderId}/freight/defaults","href":"/api-reference/fulfillment-orders/freight-account-and-booking-defaults"},{"title":"Freight record and active shipments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-orders/{fulfillmentOrderId}/freight/shipments","href":"/api-reference/fulfillment-orders/freight-record-and-active-shipments"},{"title":"Build a package plan","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/freight/package-plan","href":"/api-reference/fulfillment-orders/build-a-package-plan"},{"title":"Create freight shipment and request quotes","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-orders/{fulfillmentOrderId}/freight/quotes","href":"/api-reference/fulfillment-orders/create-freight-shipment-and-request-quotes"},{"title":"Packing slip PDF","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-orders/{fulfillmentOrderId}/packing-slip","href":"/api-reference/fulfillment-orders/packing-slip-pdf"}]},{"group":"Freight","pages":[{"title":"Single freight shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /freight/shipments/{metadataId}","href":"/api-reference/freight/single-freight-shipment"},{"title":"Freight quotes","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /freight/shipments/{metadataId}/quotes","href":"/api-reference/freight/freight-quotes"},{"title":"Book a freight quote","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /freight/shipments/{metadataId}/book","href":"/api-reference/freight/book-a-freight-quote"},{"title":"Sync status from Freightview","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /freight/shipments/{metadataId}/sync-status","href":"/api-reference/freight/sync-status-from-freightview"},{"title":"Freight documents","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /freight/shipments/{metadataId}/documents","href":"/api-reference/freight/freight-documents"},{"title":"Download a freight document","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /freight/shipments/{metadataId}/documents/{documentId}/download","href":"/api-reference/freight/download-a-freight-document"}]},{"group":"Fulfillment Priority Lists","pages":[{"title":"List fulfillment priority lists","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-priority-lists","href":"/api-reference/fulfillment-priority-lists/list-fulfillment-priority-lists"},{"title":"Create a fulfillment priority list","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /fulfillment-priority-lists","href":"/api-reference/fulfillment-priority-lists/create-a-fulfillment-priority-list"},{"title":"Get a fulfillment priority list","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /fulfillment-priority-lists/{fulfillmentPriorityListId}","href":"/api-reference/fulfillment-priority-lists/get-a-fulfillment-priority-list"},{"title":"Update a fulfillment priority list","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /fulfillment-priority-lists/{fulfillmentPriorityListId}","href":"/api-reference/fulfillment-priority-lists/update-a-fulfillment-priority-list"},{"title":"Delete a fulfillment priority list","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /fulfillment-priority-lists/{fulfillmentPriorityListId}","href":"/api-reference/fulfillment-priority-lists/delete-a-fulfillment-priority-list"}]},{"group":"PickFlow Warehouse","pages":[{"title":"Resolve a scanned barcode","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/scan/resolve","href":"/api-reference/pickflow-warehouse/resolve-a-scanned-barcode"},{"title":"Get bin contents","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/locations/{locationId}/stock","href":"/api-reference/pickflow-warehouse/get-bin-contents"},{"title":"Get product stock by bin","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/products/{productId}/stock","href":"/api-reference/pickflow-warehouse/get-product-stock-by-bin"},{"title":"Search bins in a warehouse","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/warehouses/{warehouseId}/bins","href":"/api-reference/pickflow-warehouse/search-bins-in-a-warehouse"},{"title":"List open PO lines to receive a product against","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/receivables","href":"/api-reference/pickflow-warehouse/list-open-po-lines-to-receive-a-product-against"}]},{"group":"PickFlow Shipping","pages":[{"title":"List shipping carriers","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/shipping/carriers","href":"/api-reference/pickflow-shipping/list-shipping-carriers"},{"title":"List shipping services for a carrier","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/shipping/services","href":"/api-reference/pickflow-shipping/list-shipping-services-for-a-carrier"},{"title":"List package types for a carrier","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/shipping/packages","href":"/api-reference/pickflow-shipping/list-package-types-for-a-carrier"},{"title":"Buy a shipping label for a fulfillment order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/fulfillment-orders/{fulfillmentOrderId}/label","href":"/api-reference/pickflow-shipping/buy-a-shipping-label-for-a-fulfillment-order"}]},{"group":"Picklists","pages":[{"title":"List picklists","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/picklists","href":"/api-reference/picklists/list-picklists"},{"title":"Get a picklist","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/picklists/{id}","href":"/api-reference/picklists/get-a-picklist"},{"title":"List lots staged in a picklist's WIP bin","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/picklists/{id}/wip-lots","href":"/api-reference/picklists/list-lots-staged-in-a-picklists-wip-bin"},{"title":"Complete picking for a picklist","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/picklists/{id}/complete","href":"/api-reference/picklists/complete-picking-for-a-picklist"}]},{"group":"Cycle Counts","pages":[{"title":"Create a cycle count batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts","href":"/api-reference/cycle-counts/create-a-cycle-count-batch"},{"title":"List active sessions for a warehouse","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts","href":"/api-reference/cycle-counts/list-active-sessions-for-a-warehouse"},{"title":"Create a cycle count batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts","href":"/api-reference/cycle-counts/create-a-cycle-count-batch"},{"title":"SKU-mode item-count estimate per warehouse","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/sku-estimate","href":"/api-reference/cycle-counts/sku-mode-item-count-estimate-per-warehouse"},{"title":"Bin-location-mode item-count estimate per warehouse","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/bin-location-estimate","href":"/api-reference/cycle-counts/bin-location-mode-item-count-estimate-per-warehouse"},{"title":"Search locations (bins) within a warehouse","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/warehouses/{warehouseId}/locations/search","href":"/api-reference/cycle-counts/search-locations-bins-within-a-warehouse"},{"title":"Search products","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/products/search","href":"/api-reference/cycle-counts/search-products"},{"title":"Search lots","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/lots/search","href":"/api-reference/cycle-counts/search-lots"},{"title":"List cycle count batches","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/batches","href":"/api-reference/cycle-counts/list-cycle-count-batches"},{"title":"Get a cycle count batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/batches/{batchId}","href":"/api-reference/cycle-counts/get-a-cycle-count-batch"},{"title":"Delete a batch and all its sessions","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /pickflow/cycle-counts/batches/{batchId}","href":"/api-reference/cycle-counts/delete-a-batch-and-all-its-sessions"},{"title":"Start every draft session in the batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/batches/{batchId}/start-all","href":"/api-reference/cycle-counts/start-every-draft-session-in-the-batch"},{"title":"Export the batch-level variance report as CSV","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/batches/{batchId}/export","href":"/api-reference/cycle-counts/export-the-batch-level-variance-report-as-csv"},{"title":"Get a cycle count session","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/{sessionId}","href":"/api-reference/cycle-counts/get-a-cycle-count-session"},{"title":"Delete a cycle count session","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /pickflow/cycle-counts/{sessionId}","href":"/api-reference/cycle-counts/delete-a-cycle-count-session"},{"title":"List session items","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/{sessionId}/items","href":"/api-reference/cycle-counts/list-session-items"},{"title":"Record a count for one item","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/items/{itemId}/count","href":"/api-reference/cycle-counts/record-a-count-for-one-item"},{"title":"Scan a barcode and record a count","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/scan","href":"/api-reference/cycle-counts/scan-a-barcode-and-record-a-count"},{"title":"Session counting-progress summary","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/{sessionId}/progress","href":"/api-reference/cycle-counts/session-counting-progress-summary"},{"title":"Start counting","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/start","href":"/api-reference/cycle-counts/start-counting"},{"title":"Submit for review","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/submit-review","href":"/api-reference/cycle-counts/submit-for-review"},{"title":"Reopen for counting","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/reopen","href":"/api-reference/cycle-counts/reopen-for-counting"},{"title":"Post a cycle count session","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/post","href":"/api-reference/cycle-counts/post-a-cycle-count-session"},{"title":"Cancel a cycle count session","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/cancel","href":"/api-reference/cycle-counts/cancel-a-cycle-count-session"},{"title":"Reset all counted quantities","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/reset-counts","href":"/api-reference/cycle-counts/reset-all-counted-quantities"},{"title":"Export the session-level variance report as CSV","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/{sessionId}/export","href":"/api-reference/cycle-counts/export-the-session-level-variance-report-as-csv"},{"title":"Download the CSV count-sheet template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/cycle-counts/{sessionId}/template","href":"/api-reference/cycle-counts/download-the-csv-count-sheet-template"},{"title":"Validate an uploaded counting-sheet CSV","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/validate-import","href":"/api-reference/cycle-counts/validate-an-uploaded-counting-sheet-csv"},{"title":"Apply a validated import","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/cycle-counts/{sessionId}/import-counts","href":"/api-reference/cycle-counts/apply-a-validated-import"}]},{"group":"Print Stations","pages":[{"title":"List print stations","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /print-stations","href":"/api-reference/print-stations/list-print-stations"},{"title":"Enqueue a print job","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /print-stations/{stationId}/print-jobs","href":"/api-reference/print-stations/enqueue-a-print-job"},{"title":"List print stations (PickFlow alias)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/print-stations","href":"/api-reference/print-stations/list-print-stations-pickflow-alias"},{"title":"Mint a print station pairing code (PickFlow)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/print-stations/pairing-codes","href":"/api-reference/print-stations/mint-a-print-station-pairing-code-pickflow"},{"title":"List recent print jobs (PickFlow)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /pickflow/print-stations/jobs/recent","href":"/api-reference/print-stations/list-recent-print-jobs-pickflow"},{"title":"Revoke a print station (PickFlow)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/print-stations/{id}/revoke","href":"/api-reference/print-stations/revoke-a-print-station-pickflow"},{"title":"Send a test print (PickFlow)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /pickflow/print-stations/{id}/test-print","href":"/api-reference/print-stations/send-a-test-print-pickflow"},{"title":"Delete a print station (PickFlow)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /pickflow/print-stations/{id}","href":"/api-reference/print-stations/delete-a-print-station-pickflow"}]},{"group":"Purgatory","pages":[{"title":"List non-posted (purgatory) sales orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purgatory/orders","href":"/api-reference/purgatory/list-non-posted-purgatory-sales-orders"},{"title":"Get a single non-posted order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purgatory/orders/{salesOrderId}","href":"/api-reference/purgatory/get-a-single-non-posted-order"},{"title":"Map a line item to a product / toggle flags","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /purgatory/order-items/{salesOrderItemId}","href":"/api-reference/purgatory/map-a-line-item-to-a-product-toggle-flags"},{"title":"Dispatch auto-mapping job","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purgatory/jobs/auto-map","href":"/api-reference/purgatory/dispatch-auto-mapping-job"},{"title":"Dispatch reprocess-purgatory job","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /purgatory/jobs/reprocess","href":"/api-reference/purgatory/dispatch-reprocess-purgatory-job"},{"title":"Get purgatory automation settings","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purgatory/settings","href":"/api-reference/purgatory/get-purgatory-automation-settings"},{"title":"Partially update purgatory settings","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /purgatory/settings","href":"/api-reference/purgatory/partially-update-purgatory-settings"},{"title":"Get purgatory settings schema","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /purgatory/settings/schema","href":"/api-reference/purgatory/get-purgatory-settings-schema"}]},{"group":"Activity Logs","pages":[{"title":"List activity log entries for a subject","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /activity-logs","href":"/api-reference/activity-logs/list-activity-log-entries-for-a-subject"},{"title":"Ask an AI about a record's history","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /activity-logs/ask-ai","href":"/api-reference/activity-logs/ask-an-ai-about-a-records-history"}]},{"group":"Invoices","pages":[{"title":"Invoices","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /invoices","href":"/api-reference/invoices/invoices"},{"title":"Create invoice","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /invoices","href":"/api-reference/invoices/create-invoice"},{"title":"Bulk void or delete invoices","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /invoices/bulk-void-delete","href":"/api-reference/invoices/bulk-void-or-delete-invoices"},{"title":"Single invoice","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /invoices/{id}","href":"/api-reference/invoices/single-invoice"},{"title":"Update invoice","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /invoices/{id}","href":"/api-reference/invoices/update-invoice"},{"title":"Delete invoice","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /invoices/{id}","href":"/api-reference/invoices/delete-invoice"},{"title":"Void invoice","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /invoices/{invoiceId}/void","href":"/api-reference/invoices/void-invoice"},{"title":"Approve invoice","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /invoices/{invoiceId}/approve","href":"/api-reference/invoices/approve-invoice"},{"title":"Reject invoice","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /invoices/{invoiceId}/reject","href":"/api-reference/invoices/reject-invoice"},{"title":"Email a Draft invoice","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /invoices/{invoiceId}/send-email","href":"/api-reference/invoices/email-a-draft-invoice"},{"title":"Estimates","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /estimates","href":"/api-reference/invoices/estimates"},{"title":"Single estimate","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /estimates/{estimateId}","href":"/api-reference/invoices/single-estimate"}]},{"group":"Customer Returns","pages":[{"title":"List customer returns","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /returns","href":"/api-reference/customer-returns/list-customer-returns"},{"title":"Create customer return","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /returns","href":"/api-reference/customer-returns/create-customer-return"},{"title":"Single customer return","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /returns/{id}","href":"/api-reference/customer-returns/single-customer-return"},{"title":"Mark return received","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /returns/{id}/receive","href":"/api-reference/customer-returns/mark-return-received"},{"title":"Update return restock flag","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /returns/{id}/restock","href":"/api-reference/customer-returns/update-return-restock-flag"},{"title":"Delete customer return","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /returns/{id}","href":"/api-reference/customer-returns/delete-customer-return"},{"title":"List refunds","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /refunds","href":"/api-reference/customer-returns/list-refunds"},{"title":"Single refund","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /refunds/{refundId}","href":"/api-reference/customer-returns/single-refund"}]},{"group":"Deals (CRM)","pages":[{"title":"List deals","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /deals","href":"/api-reference/deals/list-deals"},{"title":"Single deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /deals/{dealId}","href":"/api-reference/deals/single-deal"},{"title":"List bills linked to a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /deals/{dealId}/bills","href":"/api-reference/deals/list-bills-linked-to-a-deal"},{"title":"Link a bill to a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /deals/{dealId}/bills/{billId}","href":"/api-reference/deals/link-a-bill-to-a-deal"},{"title":"Unlink a bill from a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /deals/{dealId}/bills/{billId}","href":"/api-reference/deals/unlink-a-bill-from-a-deal"},{"title":"List supplier POs linked to a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /deals/{dealId}/purchase-orders","href":"/api-reference/deals/list-supplier-pos-linked-to-a-deal"},{"title":"Link a supplier PO to a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /deals/{dealId}/purchase-orders/{purchaseOrderId}","href":"/api-reference/deals/link-a-supplier-po-to-a-deal"},{"title":"Unlink a supplier PO from a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /deals/{dealId}/purchase-orders/{purchaseOrderId}","href":"/api-reference/deals/unlink-a-supplier-po-from-a-deal"},{"title":"List work orders linked to a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /deals/{dealId}/work-orders","href":"/api-reference/deals/list-work-orders-linked-to-a-deal"},{"title":"Link a work order to a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /deals/{dealId}/work-orders/{workOrderId}","href":"/api-reference/deals/link-a-work-order-to-a-deal"},{"title":"Unlink a work order from a deal","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /deals/{dealId}/work-orders/{workOrderId}","href":"/api-reference/deals/unlink-a-work-order-from-a-deal"}]}]},{"group":"Manufacturing","pages":[{"group":"Work Orders","pages":[{"title":"List work orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders","href":"/api-reference/work-orders/list-work-orders"},{"title":"Create a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders","href":"/api-reference/work-orders/create-a-work-order"},{"title":"Get a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}","href":"/api-reference/work-orders/get-a-work-order"},{"title":"Update a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /work-orders/{workOrderId}","href":"/api-reference/work-orders/update-a-work-order"},{"title":"Delete a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /work-orders/{workOrderId}","href":"/api-reference/work-orders/delete-a-work-order"},{"title":"Bulk create work orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/bulk","href":"/api-reference/work-orders/bulk-create-work-orders"},{"title":"Bulk delete work orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /work-orders/bulk","href":"/api-reference/work-orders/bulk-delete-work-orders"},{"title":"Bulk update work order status","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/bulk/status","href":"/api-reference/work-orders/bulk-update-work-order-status"},{"title":"Bulk quick-complete work orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/bulk/quick-complete","href":"/api-reference/work-orders/bulk-quick-complete-work-orders"},{"title":"Plan a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/plan","href":"/api-reference/work-orders/plan-a-work-order"},{"title":"Start a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/start","href":"/api-reference/work-orders/start-a-work-order"},{"title":"Complete a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/complete","href":"/api-reference/work-orders/complete-a-work-order"},{"title":"Cancel a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/cancel","href":"/api-reference/work-orders/cancel-a-work-order"},{"title":"Hold a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/hold","href":"/api-reference/work-orders/hold-a-work-order"},{"title":"Release a work order from hold","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/unhold","href":"/api-reference/work-orders/release-a-work-order-from-hold"},{"title":"Refresh a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/refresh","href":"/api-reference/work-orders/refresh-a-work-order"}]},{"group":"Work Order Steps \u0026 Production","pages":[{"title":"List work order steps","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/steps","href":"/api-reference/work-orders/list-work-order-steps"},{"title":"Complete a work order step","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/steps/{stepId}/complete","href":"/api-reference/work-orders/complete-a-work-order-step"},{"title":"Skip a work order step","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/steps/{stepId}/skip","href":"/api-reference/work-orders/skip-a-work-order-step"},{"title":"Generate work order steps","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/generate-steps","href":"/api-reference/work-orders/generate-work-order-steps"},{"title":"Regenerate work order steps","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/regenerate-steps","href":"/api-reference/work-orders/regenerate-work-order-steps"},{"title":"List work order step completions","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/completions","href":"/api-reference/work-orders/list-work-order-step-completions"},{"title":"List production entries","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/production-entries","href":"/api-reference/work-orders/list-production-entries"},{"title":"Create a production entry","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/production-entries","href":"/api-reference/work-orders/create-a-production-entry"},{"title":"Delete a production entry","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /work-orders/{workOrderId}/production-entries/{entryId}","href":"/api-reference/work-orders/delete-a-production-entry"},{"title":"Get status history","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/status-history","href":"/api-reference/work-orders/get-status-history"},{"title":"Get work order events","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/events","href":"/api-reference/work-orders/get-work-order-events"},{"title":"Update custom fields","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /work-orders/{workOrderId}/custom-fields","href":"/api-reference/work-orders/update-custom-fields"},{"title":"Update notes","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /work-orders/{workOrderId}/notes","href":"/api-reference/work-orders/update-notes"},{"title":"Set service fee","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /work-orders/{workOrderId}/service-fee","href":"/api-reference/work-orders/set-service-fee"},{"title":"Update alternate IDs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /work-orders/{workOrderId}/alternate-ids","href":"/api-reference/work-orders/update-alternate-ids"},{"title":"Update expected completion date","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /work-orders/{workOrderId}/expected-completion-date","href":"/api-reference/work-orders/update-expected-completion-date"},{"title":"List extra costs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/extra-costs","href":"/api-reference/work-orders/list-extra-costs"},{"title":"Add an extra cost","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/extra-costs","href":"/api-reference/work-orders/add-an-extra-cost"},{"title":"Update an extra cost","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /work-orders/{workOrderId}/extra-costs/{extraCostId}","href":"/api-reference/work-orders/update-an-extra-cost"},{"title":"Delete an extra cost","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /work-orders/{workOrderId}/extra-costs/{extraCostId}","href":"/api-reference/work-orders/delete-an-extra-cost"}]},{"group":"Work Order Materials \u0026 Orders","pages":[{"title":"List work order raw materials","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/raw-materials","href":"/api-reference/work-orders/list-work-order-raw-materials"},{"title":"List work order BOM items","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/bom-items","href":"/api-reference/work-orders/list-work-order-bom-items"},{"title":"Get work order sub-assembly stock","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/sub-assembly-stock","href":"/api-reference/work-orders/get-work-order-sub-assembly-stock"},{"title":"Receive finished goods","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/receive","href":"/api-reference/work-orders/receive-finished-goods"},{"title":"Quick complete a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/quick-complete","href":"/api-reference/work-orders/quick-complete-a-work-order"},{"title":"Adjust committed stock","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/adjust-committed-stock","href":"/api-reference/work-orders/adjust-committed-stock"},{"title":"List work order purchase order links","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/po-links","href":"/api-reference/work-orders/list-work-order-purchase-order-links"},{"title":"Add a purchase order link to a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/po-links","href":"/api-reference/work-orders/add-a-purchase-order-link-to-a-work-order"},{"title":"Remove a purchase order link from a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /work-orders/{workOrderId}/po-links/{linkId}","href":"/api-reference/work-orders/remove-a-purchase-order-link-from-a-work-order"},{"title":"Allocate incoming stock to a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/allocate-incoming-stock","href":"/api-reference/work-orders/allocate-incoming-stock-to-a-work-order"},{"title":"List work order assembly order links","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/ao-links","href":"/api-reference/work-orders/list-work-order-assembly-order-links"},{"title":"List work order receiving reports","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/receiving-reports","href":"/api-reference/work-orders/list-work-order-receiving-reports"},{"title":"Generate purchase orders for a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/generate-purchase-orders","href":"/api-reference/work-orders/generate-purchase-orders-for-a-work-order"},{"title":"Generate purchase orders from a work order BOM","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/generate-purchase-orders-from-bom","href":"/api-reference/work-orders/generate-purchase-orders-from-a-work-order-bom"},{"title":"Generate transfer orders from a work order BOM","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/generate-transfer-orders-from-bom","href":"/api-reference/work-orders/generate-transfer-orders-from-a-work-order-bom"},{"title":"Generate a finished goods transfer order for a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/generate-finished-goods-transfer-order","href":"/api-reference/work-orders/generate-a-finished-goods-transfer-order-for-a-work-order"},{"title":"Create a draft assembly order for a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/create-assembly-order","href":"/api-reference/work-orders/create-a-draft-assembly-order-for-a-work-order"},{"title":"Create a draft assembly order from a work order BOM item","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/create-assembly-order-from-bom-item","href":"/api-reference/work-orders/create-a-draft-assembly-order-from-a-work-order-bom-item"},{"title":"Create draft assembly orders from work order BOM items","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/create-assembly-orders-from-bom-items","href":"/api-reference/work-orders/create-draft-assembly-orders-from-work-order-bom-items"},{"title":"Assembly orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /assembly-orders","href":"/api-reference/assembly-orders/assembly-orders"},{"title":"Get an assembly order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /assembly-orders/{assemblyOrderId}","href":"/api-reference/assembly-orders/get-an-assembly-order"},{"title":"Preview an assembly order ledger correction","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /assembly-orders/{assemblyOrderId}/ledger-correction","href":"/api-reference/assembly-orders/preview-an-assembly-order-ledger-correction"},{"title":"Correct a completed assembly order's quantities","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /assembly-orders/{assemblyOrderId}/ledger-correction","href":"/api-reference/assembly-orders/correct-a-completed-assembly-orders-quantities"},{"title":"Preview a posted quantity correction","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /posted-quantity-corrections/preview","href":"/api-reference/assembly-orders/preview-a-posted-quantity-correction"},{"title":"Correct a posted quantity","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /posted-quantity-corrections","href":"/api-reference/assembly-orders/correct-a-posted-quantity"}]},{"group":"Work Order Comments \u0026 Shipments","pages":[{"title":"List work order comments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/comments","href":"/api-reference/work-orders/list-work-order-comments"},{"title":"Create a work order comment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/comments","href":"/api-reference/work-orders/create-a-work-order-comment"},{"title":"Delete a work order comment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /work-orders/{workOrderId}/comments/{commentId}","href":"/api-reference/work-orders/delete-a-work-order-comment"},{"title":"Upload a work order comment attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/comments/{commentId}/attachments","href":"/api-reference/work-orders/upload-a-work-order-comment-attachment"},{"title":"Download a work order comment attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/comments/{commentId}/attachments/{attachmentId}","href":"/api-reference/work-orders/download-a-work-order-comment-attachment"},{"title":"Delete a work order comment attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /work-orders/{workOrderId}/comments/{commentId}/attachments/{attachmentId}","href":"/api-reference/work-orders/delete-a-work-order-comment-attachment"},{"title":"List work order material scrap","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/material-scrap","href":"/api-reference/work-orders/list-work-order-material-scrap"},{"title":"Record work order material scrap","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/material-scrap","href":"/api-reference/work-orders/record-work-order-material-scrap"},{"title":"List work order shipments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/shipments","href":"/api-reference/work-orders/list-work-order-shipments"},{"title":"Create a work order shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/shipments","href":"/api-reference/work-orders/create-a-work-order-shipment"},{"title":"Update a work order shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /work-orders/{workOrderId}/shipments/{shipmentId}","href":"/api-reference/work-orders/update-a-work-order-shipment"},{"title":"Receive a work order shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/shipments/{shipmentId}/receive","href":"/api-reference/work-orders/receive-a-work-order-shipment"},{"title":"List work order shipment receipts","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/shipment-receipts","href":"/api-reference/work-orders/list-work-order-shipment-receipts"},{"title":"Create a work order shipment receipt","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /work-orders/{workOrderId}/shipment-receipts","href":"/api-reference/work-orders/create-a-work-order-shipment-receipt"},{"title":"Delete a work order shipment receipt","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /work-orders/{workOrderId}/shipment-receipts/{receiptId}","href":"/api-reference/work-orders/delete-a-work-order-shipment-receipt"}]},{"group":"Production Batches","pages":[{"title":"List production batches","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches","href":"/api-reference/production-batches/list-production-batches"},{"title":"Create a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /production-batches","href":"/api-reference/production-batches/create-a-production-batch"},{"title":"Get a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}","href":"/api-reference/production-batches/get-a-production-batch"},{"title":"Update a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /production-batches/{batchId}","href":"/api-reference/production-batches/update-a-production-batch"},{"title":"Delete a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /production-batches/{batchId}","href":"/api-reference/production-batches/delete-a-production-batch"},{"title":"Bulk update production batch status","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /production-batches/bulk/status","href":"/api-reference/production-batches/bulk-update-production-batch-status"},{"title":"Bulk remove work orders from batches","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /production-batches/bulk/work-orders","href":"/api-reference/production-batches/bulk-remove-work-orders-from-batches"},{"title":"List production batches available for linking","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/available-for-linking","href":"/api-reference/production-batches/list-production-batches-available-for-linking"},{"title":"Add work orders to a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /production-batches/{batchId}/work-orders","href":"/api-reference/production-batches/add-work-orders-to-a-production-batch"},{"title":"Remove a work order from a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /production-batches/{batchId}/work-orders/{workOrderId}","href":"/api-reference/production-batches/remove-a-work-order-from-a-production-batch"},{"title":"Update fields on all work orders in a batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /production-batches/{batchId}/work-orders/fields","href":"/api-reference/production-batches/update-fields-on-all-work-orders-in-a-batch"},{"title":"Get production batch summary","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/summary","href":"/api-reference/production-batches/get-production-batch-summary"},{"title":"Sync production batch status","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /production-batches/{batchId}/sync-status","href":"/api-reference/production-batches/sync-production-batch-status"},{"title":"Update production batch status","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /production-batches/{batchId}/status","href":"/api-reference/production-batches/update-production-batch-status"},{"title":"List purchase order links for a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/po-links","href":"/api-reference/production-batches/list-purchase-order-links-for-a-production-batch"},{"title":"List assembly order links for a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/ao-links","href":"/api-reference/production-batches/list-assembly-order-links-for-a-production-batch"},{"title":"List receiving reports for a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/receiving-reports","href":"/api-reference/production-batches/list-receiving-reports-for-a-production-batch"},{"title":"List status history for a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/status-history","href":"/api-reference/production-batches/list-status-history-for-a-production-batch"},{"title":"List events for a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/events","href":"/api-reference/production-batches/list-events-for-a-production-batch"},{"title":"Export a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/export","href":"/api-reference/production-batches/export-a-production-batch"},{"title":"Generate transfer orders for a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /production-batches/{batchId}/generate-transfer-orders","href":"/api-reference/production-batches/generate-transfer-orders-for-a-production-batch"},{"title":"List sub-assemblies for a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/sub-assemblies","href":"/api-reference/production-batches/list-sub-assemblies-for-a-production-batch"},{"title":"Export production batch sub-assemblies","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /production-batches/{batchId}/sub-assemblies/export","href":"/api-reference/production-batches/export-production-batch-sub-assemblies"},{"title":"Bulk create assembly orders for sub-assemblies","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /production-batches/{batchId}/sub-assemblies/create-assembly-orders","href":"/api-reference/production-batches/bulk-create-assembly-orders-for-sub-assemblies"},{"title":"Refresh a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /production-batches/{batchId}/refresh","href":"/api-reference/production-batches/refresh-a-production-batch"}]}]},{"group":"Accounts Payable","pages":[{"group":"Bills","pages":[{"title":"List bills","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills","href":"/api-reference/bills/list-bills"},{"title":"Create a bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills","href":"/api-reference/bills/create-a-bill"},{"title":"Single bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/{id}","href":"/api-reference/bills/single-bill"},{"title":"Update a bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /bills/{id}","href":"/api-reference/bills/update-a-bill"},{"title":"Bills summary","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/summary","href":"/api-reference/bills/bills-summary"},{"title":"Check for duplicate bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/check-duplicate","href":"/api-reference/bills/check-for-duplicate-bill"},{"title":"Calculate bill due date","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/calculate-due-date","href":"/api-reference/bills/calculate-bill-due-date"},{"title":"Prefill bill from shipments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/from-shipments/prefill","href":"/api-reference/bills/prefill-bill-from-shipments"},{"title":"Parse bill import","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/import/parse","href":"/api-reference/bills/parse-bill-import"},{"title":"Bills by purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/by-purchase-order/{id}","href":"/api-reference/bills/bills-by-purchase-order"},{"title":"Bills by vendor","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/by-vendor/{id}","href":"/api-reference/bills/bills-by-vendor"},{"title":"Update bill status","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /bills/{id}/status","href":"/api-reference/bills/update-bill-status"},{"title":"Post a bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/post","href":"/api-reference/bills/post-a-bill"},{"title":"Reopen a bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/reopen","href":"/api-reference/bills/reopen-a-bill"},{"title":"Hold a bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/hold","href":"/api-reference/bills/hold-a-bill"},{"title":"Unhold a bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/unhold","href":"/api-reference/bills/unhold-a-bill"}]},{"group":"Bill Payments","pages":[{"title":"Record a bill payment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/payments","href":"/api-reference/bills/record-a-bill-payment"},{"title":"Delete a bill payment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /bills/{id}/payments/{paymentId}","href":"/api-reference/bills/delete-a-bill-payment"},{"title":"Void a bill payment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/payments/{paymentId}/void","href":"/api-reference/bills/void-a-bill-payment"}]},{"group":"Bill Attachments","pages":[{"title":"Upload a bill attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/attachments","href":"/api-reference/bills/upload-a-bill-attachment"},{"title":"Download a bill attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/{id}/attachments/{attachmentId}/download","href":"/api-reference/bills/download-a-bill-attachment"},{"title":"Delete a bill attachment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /bills/{id}/attachments/{attachmentId}","href":"/api-reference/bills/delete-a-bill-attachment"}]},{"group":"Bill Allocations","pages":[{"title":"Bills allocation inbox","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/allocation-inbox","href":"/api-reference/bills/bills-allocation-inbox"},{"title":"List bill allocations","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/{id}/allocations","href":"/api-reference/bills/list-bill-allocations"},{"title":"Create a bill allocation","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/allocations","href":"/api-reference/bills/create-a-bill-allocation"},{"title":"Delete a bill allocation","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /bills/{id}/allocations/{allocationId}","href":"/api-reference/bills/delete-a-bill-allocation"},{"title":"Auto-allocate bill","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/auto-allocate","href":"/api-reference/bills/auto-allocate-bill"},{"title":"Bulk reconcile bills to a purchase order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/bulk-reconcile","href":"/api-reference/bills/bulk-reconcile-bills-to-a-purchase-order"},{"title":"Get bill billable lines","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/{id}/billable-lines","href":"/api-reference/bills/get-bill-billable-lines"},{"title":"Get bill candidate lines","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/{id}/candidate-lines","href":"/api-reference/bills/get-bill-candidate-lines"},{"title":"Get eligible lines for a bill item","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/{id}/bill-items/{billItemId}/eligible-lines","href":"/api-reference/bills/get-eligible-lines-for-a-bill-item"},{"title":"Get AI suggestions for a bill item","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/bill-items/{billItemId}/ai-suggestions","href":"/api-reference/bills/get-ai-suggestions-for-a-bill-item"},{"title":"Prorate allocation for a bill item","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/bill-items/{billItemId}/prorate-allocate","href":"/api-reference/bills/prorate-allocation-for-a-bill-item"},{"title":"Get bill variance","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/{id}/variance","href":"/api-reference/bills/get-bill-variance"},{"title":"Resolve bill variance","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /bills/{id}/resolve-variance","href":"/api-reference/bills/resolve-bill-variance"},{"title":"Get billable lines for a shipment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /shipments/{shipmentId}/billable-lines","href":"/api-reference/bills/get-billable-lines-for-a-shipment"},{"title":"Get billable lines for an assembly order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /assembly-orders/{assemblyOrderId}/billable-lines","href":"/api-reference/bills/get-billable-lines-for-an-assembly-order"},{"title":"Get billable lines for a work order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /work-orders/{workOrderId}/billable-lines","href":"/api-reference/bills/get-billable-lines-for-a-work-order"},{"title":"Get billable lines for a production batch","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /production-batches/{batchId}/billable-lines","href":"/api-reference/bills/get-billable-lines-for-a-production-batch"}]},{"group":"Prepayments","pages":[{"title":"List prepayments","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /prepayments","href":"/api-reference/prepayments/list-prepayments"},{"title":"Create a prepayment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /prepayments","href":"/api-reference/prepayments/create-a-prepayment"},{"title":"Apply a prepayment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /prepayments/{id}/apply","href":"/api-reference/prepayments/apply-a-prepayment"},{"title":"Reverse a prepayment application","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /prepayments/{id}/applications/{applicationId}/reverse","href":"/api-reference/prepayments/reverse-a-prepayment-application"}]},{"group":"Vendor Credits","pages":[{"title":"List vendor credits","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /vendor-credits","href":"/api-reference/vendor-credits/list-vendor-credits"},{"title":"Create a vendor credit","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /vendor-credits","href":"/api-reference/vendor-credits/create-a-vendor-credit"},{"title":"Get a vendor credit","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /vendor-credits/{id}","href":"/api-reference/vendor-credits/get-a-vendor-credit"},{"title":"Apply a vendor credit","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /vendor-credits/{id}/apply","href":"/api-reference/vendor-credits/apply-a-vendor-credit"},{"title":"Cancel a vendor credit","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /vendor-credits/{id}/cancel","href":"/api-reference/vendor-credits/cancel-a-vendor-credit"},{"title":"Delete a vendor credit application","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /vendor-credits/{id}/applications/{applicationId}","href":"/api-reference/vendor-credits/delete-a-vendor-credit-application"},{"title":"Reverse a vendor credit application","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /vendor-credits/{id}/applications/{applicationId}/reverse","href":"/api-reference/vendor-credits/reverse-a-vendor-credit-application"},{"title":"Get vendor statement","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /vendors/{id}/statement","href":"/api-reference/vendor-credits/get-vendor-statement"}]},{"group":"Vendor Returns","pages":[{"title":"List vendor returns","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /vendor-returns","href":"/api-reference/vendor-returns/list-vendor-returns"},{"title":"Create a vendor return","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /vendor-returns","href":"/api-reference/vendor-returns/create-a-vendor-return"},{"title":"Get a vendor return","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /vendor-returns/{id}","href":"/api-reference/vendor-returns/get-a-vendor-return"},{"title":"Process a vendor return","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /vendor-returns/{id}/process","href":"/api-reference/vendor-returns/process-a-vendor-return"},{"title":"Generate credit for a vendor return","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /vendor-returns/{id}/generate-credit","href":"/api-reference/vendor-returns/generate-credit-for-a-vendor-return"},{"title":"Cancel a vendor return","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /vendor-returns/{id}/cancel","href":"/api-reference/vendor-returns/cancel-a-vendor-return"}]}]},{"group":"Reports \u0026 Analytics","pages":[{"group":"Customer Topology","pages":[{"title":"Customer operational topology snapshot","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /customer-topology","href":"/api-reference/customer-topology/customer-operational-topology-snapshot"}]},{"group":"Stock Snapshot","pages":[{"title":"Stock snapshot (JSON, CSV, or Excel)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /stock-snapshot","href":"/api-reference/stock-snapshot/stock-snapshot-json-csv-or-excel"}]},{"group":"Consumption","pages":[{"title":"Consumption report (paginated)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/transactions/consumption","href":"/api-reference/consumption/consumption-report-paginated"},{"title":"Consumption report export","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/transactions/consumption/export","href":"/api-reference/consumption/consumption-report-export"}]},{"group":"Inventory Aging","pages":[{"title":"Inventory aging (paginated)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/aging","href":"/api-reference/inventory-aging/inventory-aging-paginated"},{"title":"Inventory aging export","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /inventory/aging/export","href":"/api-reference/inventory-aging/inventory-aging-export"}]},{"group":"Bills Aging","pages":[{"title":"AP bills aging by vendor","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /bills/reports/aging","href":"/api-reference/bills-reports/ap-bills-aging-by-vendor"}]},{"group":"Forecast","pages":[{"title":"Materialized forecast rows (paginated)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-data","href":"/api-reference/forecast/materialized-forecast-rows-paginated"},{"title":"Materialized forecast export","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-data/export","href":"/api-reference/forecast/materialized-forecast-export"},{"title":"Forecast table refresh metadata","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-data/refresh-status","href":"/api-reference/forecast/forecast-table-refresh-metadata"},{"title":"Forecast row by product (RFQ) ID","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-data/product/{rfqId}","href":"/api-reference/forecast/forecast-row-by-product-rfq-id"},{"title":"Forecast row by materialized row ID","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-data/{id}","href":"/api-reference/forecast/forecast-row-by-materialized-row-id"},{"title":"Materialized forecast by warehouse group (paginated)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-warehouse-data","href":"/api-reference/forecast/materialized-forecast-by-warehouse-group-paginated"},{"title":"Warehouse forecast export","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-warehouse-data/export","href":"/api-reference/forecast/warehouse-forecast-export"},{"title":"Warehouse forecast refresh metadata","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-warehouse-data/refresh-status","href":"/api-reference/forecast/warehouse-forecast-refresh-metadata"},{"title":"All warehouse-group forecast rows for a product","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-warehouse-data/product/{rfqId}","href":"/api-reference/forecast/all-warehouse-group-forecast-rows-for-a-product"},{"title":"Warehouse forecast row by ID","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /forecast-warehouse-data/{id}","href":"/api-reference/forecast/warehouse-forecast-row-by-id"}]},{"group":"Core Inventory Ledger","pages":[{"title":"List Core inventory transactions","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /core/inventory-transactions","href":"/api-reference/core-inventory-ledger/list-core-inventory-transactions"},{"title":"Export Core inventory transactions","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /core/inventory-transactions/export","href":"/api-reference/core-inventory-ledger/export-core-inventory-transactions"},{"title":"Get a Core inventory transaction","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /core/inventory-transactions/{transactionId}","href":"/api-reference/core-inventory-ledger/get-a-core-inventory-transaction"},{"title":"List Core inventory costs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /core/inventory-costs","href":"/api-reference/core-inventory-ledger/list-core-inventory-costs"},{"title":"Export Core inventory costs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /core/inventory-costs/export","href":"/api-reference/core-inventory-ledger/export-core-inventory-costs"},{"title":"Get a Core inventory cost","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /core/inventory-costs/{costId}","href":"/api-reference/core-inventory-ledger/get-a-core-inventory-cost"}]},{"group":"Reports","pages":[{"title":"Sales by company report","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/sales-by-company","href":"/api-reference/reports/sales-by-company-report"},{"title":"Close the Books — sales summary by channel","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/close-books/sales-summary","href":"/api-reference/reports/close-the-books-—-sales-summary-by-channel"},{"title":"Close the Books — zero-cost line items in range","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/close-books/zero-cost-items","href":"/api-reference/reports/close-the-books-—-zero-cost-line-items-in-range"},{"title":"Close the Books — zero valuation inventory","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/close-books/zero-valuation-inventory","href":"/api-reference/reports/close-the-books-—-zero-valuation-inventory"},{"title":"Close the Books — invoice sync errors","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/close-books/invoice-sync-errors","href":"/api-reference/reports/close-the-books-—-invoice-sync-errors"},{"title":"Stock / cost-layer discrepancy rows","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/inventory-discrepancy","href":"/api-reference/reports/stock-cost-layer-discrepancy-rows"},{"title":"Discrepancy dashboard summary","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/inventory-discrepancy/dashboard","href":"/api-reference/reports/discrepancy-dashboard-summary"},{"title":"Transaction COGS (paginated, read-only)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/transaction-cogs","href":"/api-reference/reports/transaction-cogs-paginated-read-only"},{"title":"Update per-line COGS from unit cost","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /transaction-cogs/update-costs","href":"/api-reference/reports/update-per-line-cogs-from-unit-cost"},{"title":"EDI documents (paginated)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/edi","href":"/api-reference/reports/edi-documents-paginated"},{"title":"EDI aggregate summary","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/edi/summary","href":"/api-reference/reports/edi-aggregate-summary"},{"title":"EDI report CSV export","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /reports/edi/export","href":"/api-reference/reports/edi-report-csv-export"}]}]},{"group":"Drive","pages":[{"group":"Folders","pages":[{"title":"List folders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/folders","href":"/api-reference/drive/list-folders"},{"title":"Create a folder","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/folders","href":"/api-reference/drive/create-a-folder"},{"title":"Get a folder and its contents","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/folders/{id}","href":"/api-reference/drive/get-a-folder-and-its-contents"},{"title":"Update a folder","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /file-cabinet/folders/{id}","href":"/api-reference/drive/update-a-folder"},{"title":"Delete a folder","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /file-cabinet/folders/{id}","href":"/api-reference/drive/delete-a-folder"}]},{"group":"Files","pages":[{"title":"Search files","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/files","href":"/api-reference/drive/search-files"},{"title":"Upload a small file","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/files","href":"/api-reference/drive/upload-a-small-file"},{"title":"Get a file","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/files/{id}","href":"/api-reference/drive/get-a-file"},{"title":"Update a file","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /file-cabinet/files/{id}","href":"/api-reference/drive/update-a-file"},{"title":"Delete a file","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /file-cabinet/files/{id}","href":"/api-reference/drive/delete-a-file"},{"title":"Get a download URL","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/files/{id}/download","href":"/api-reference/drive/get-a-download-url"},{"title":"Get a file thumbnail","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/files/{id}/thumbnail","href":"/api-reference/drive/get-a-file-thumbnail"},{"title":"Get image file content","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/files/{id}/content","href":"/api-reference/drive/get-image-file-content"},{"title":"List file versions","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/files/{id}/versions","href":"/api-reference/drive/list-file-versions"},{"title":"List file activity","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/files/{id}/activity","href":"/api-reference/drive/list-file-activity"},{"title":"Apply an image to a SKU","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/files/{id}/apply-to-sku","href":"/api-reference/drive/apply-an-image-to-a-sku"},{"title":"Turn on the public image URL","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/files/{id}/public-image","href":"/api-reference/drive/turn-on-the-public-image-url"}]},{"group":"Large Uploads","pages":[{"title":"Start a large upload","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/uploads","href":"/api-reference/drive/start-a-large-upload"},{"title":"Finish a large upload","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/uploads/{versionId}/complete","href":"/api-reference/drive/finish-a-large-upload"}]},{"group":"Drive Tags","pages":[{"title":"Set folder tags","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /file-cabinet/folder/{id}/tags","href":"/api-reference/drive/set-folder-tags"},{"title":"Set file tags","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /file-cabinet/file/{id}/tags","href":"/api-reference/drive/set-file-tags"},{"title":"List tags","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/tags","href":"/api-reference/drive/list-tags"},{"title":"Create a tag","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/tags","href":"/api-reference/drive/create-a-tag"},{"title":"Update a tag","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /file-cabinet/tags/{id}","href":"/api-reference/drive/update-a-tag"},{"title":"Delete a tag","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /file-cabinet/tags/{id}","href":"/api-reference/drive/delete-a-tag"}]},{"group":"Record Attachments","pages":[{"title":"List where a file is used","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/files/{id}/references","href":"/api-reference/drive/list-where-a-file-is-used"},{"title":"List files attached to a record","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/references","href":"/api-reference/drive/list-files-attached-to-a-record"},{"title":"Attach files to a record","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/references","href":"/api-reference/drive/attach-files-to-a-record"},{"title":"Detach a file from a record","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /file-cabinet/references/{id}","href":"/api-reference/drive/detach-a-file-from-a-record"}]},{"group":"Trash","pages":[{"title":"List the trash","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /file-cabinet/trash","href":"/api-reference/drive/list-the-trash"},{"title":"Restore from the trash","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /file-cabinet/trash/restore","href":"/api-reference/drive/restore-from-the-trash"},{"title":"Delete a folder forever","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /file-cabinet/trash/folder/{id}","href":"/api-reference/drive/delete-a-folder-forever"},{"title":"Delete a file forever","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /file-cabinet/trash/file/{id}","href":"/api-reference/drive/delete-a-file-forever"}]}]},{"group":"Configuration","pages":[{"group":"Tags","pages":[{"title":"Get tags for a record","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /{recordType}/{recordId}/tags","href":"/api-reference/tags/get-tags-for-a-record"},{"title":"Replace all tags on a record","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /{recordType}/{recordId}/tags","href":"/api-reference/tags/replace-all-tags-on-a-record"},{"title":"Attach tags to a record","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /{recordType}/{recordId}/tags","href":"/api-reference/tags/attach-tags-to-a-record"},{"title":"Detach a tag from a record","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /{recordType}/{recordId}/tags/{id}","href":"/api-reference/tags/detach-a-tag-from-a-record"}]},{"group":"Custom Fields","pages":[{"title":"Get custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /custom-fields","href":"/api-reference/custom-fields/get-custom-field-definitions"},{"title":"Create a custom field definition","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /custom-fields","href":"/api-reference/custom-fields/create-a-custom-field-definition"},{"title":"Get a custom field definition","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /custom-fields/{customFieldId}","href":"/api-reference/custom-fields/get-a-custom-field-definition"},{"title":"Update a custom field definition","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /custom-fields/{customFieldId}","href":"/api-reference/custom-fields/update-a-custom-field-definition"},{"title":"Partially update a custom field definition","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /custom-fields/{customFieldId}","href":"/api-reference/custom-fields/partially-update-a-custom-field-definition"},{"title":"Add or remove dropdown choices","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /custom-fields/{customFieldId}/choices","href":"/api-reference/custom-fields/add-or-remove-dropdown-choices"},{"title":"Delete a custom field definition","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /custom-fields/{customFieldId}","href":"/api-reference/custom-fields/delete-a-custom-field-definition"},{"title":"Get custom field values","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /{recordType}/{recordId}/custom-fields","href":"/api-reference/custom-fields/get-custom-field-values"},{"title":"Update custom field values","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /{recordType}/{recordId}/custom-fields","href":"/api-reference/custom-fields/update-custom-field-values"}]},{"group":"Users","pages":[{"title":"Users","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /users","href":"/api-reference/users/users"},{"title":"User","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /users/{userId}","href":"/api-reference/users/user"}]},{"group":"Carton Templates","pages":[{"title":"List carton templates","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /carton-templates","href":"/api-reference/carton-templates/list-carton-templates"},{"title":"Create a carton template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /carton-templates","href":"/api-reference/carton-templates/create-a-carton-template"},{"title":"Single carton template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /carton-templates/{cartonTemplateId}","href":"/api-reference/carton-templates/single-carton-template"},{"title":"Update a carton template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /carton-templates/{cartonTemplateId}","href":"/api-reference/carton-templates/update-a-carton-template"},{"title":"Update a carton template (PATCH)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /carton-templates/{cartonTemplateId}","href":"/api-reference/carton-templates/update-a-carton-template-patch"},{"title":"Delete a carton template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /carton-templates/{cartonTemplateId}","href":"/api-reference/carton-templates/delete-a-carton-template"}]},{"group":"Shipping Rules","pages":[{"title":"Get shipping rules","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /shipping-rules","href":"/api-reference/shipping-rules/get-shipping-rules"},{"title":"Replace shipping rules","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /shipping-rules","href":"/api-reference/shipping-rules/replace-shipping-rules"},{"title":"Get the shipping-rule schema","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /shipping-rules/schema","href":"/api-reference/shipping-rules/get-the-shipping-rule-schema"},{"title":"Test shipping rules against an order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /shipping-rules/test","href":"/api-reference/shipping-rules/test-shipping-rules-against-an-order"}]},{"group":"Automations","pages":[{"title":"Get the automation catalog","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /automations/schema","href":"/api-reference/automations/get-the-automation-catalog"},{"title":"List automation rules","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /automations","href":"/api-reference/automations/list-automation-rules"},{"title":"Create an automation rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /automations","href":"/api-reference/automations/create-an-automation-rule"},{"title":"Get an automation rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /automations/{automationId}","href":"/api-reference/automations/get-an-automation-rule"},{"title":"Replace an automation rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /automations/{automationId}","href":"/api-reference/automations/replace-an-automation-rule"},{"title":"Delete an automation rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /automations/{automationId}","href":"/api-reference/automations/delete-an-automation-rule"},{"title":"Set an automation rule's status","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /automations/{automationId}/status","href":"/api-reference/automations/set-an-automation-rules-status"},{"title":"Live-test an automation event","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /automations/runs","href":"/api-reference/automations/live-test-an-automation-event"},{"title":"List automation runs","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /automations/runs","href":"/api-reference/automations/list-automation-runs"},{"title":"Get an automation run","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /automations/runs/{runId}","href":"/api-reference/automations/get-an-automation-run"},{"title":"Get an automation run's log","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /automations/runs/{runId}/logs","href":"/api-reference/automations/get-an-automation-runs-log"}]},{"group":"Export Templates","pages":[{"title":"List export template types","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /export-templates/types","href":"/api-reference/export-templates/list-export-template-types"},{"title":"Get the export template authoring guide","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /export-templates/authoring-guide","href":"/api-reference/export-templates/get-the-export-template-authoring-guide"},{"title":"List placeholders for a template type","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /export-templates/placeholders","href":"/api-reference/export-templates/list-placeholders-for-a-template-type"},{"title":"Get the options-mode form schema","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /export-templates/options-schema","href":"/api-reference/export-templates/get-the-options-mode-form-schema"},{"title":"List export templates","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /export-templates","href":"/api-reference/export-templates/list-export-templates"},{"title":"Create an export template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /export-templates","href":"/api-reference/export-templates/create-an-export-template"},{"title":"Get an export template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /export-templates/{exportTemplateId}","href":"/api-reference/export-templates/get-an-export-template"},{"title":"Update an export template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /export-templates/{exportTemplateId}","href":"/api-reference/export-templates/update-an-export-template"},{"title":"Update an export template (PATCH)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /export-templates/{exportTemplateId}","href":"/api-reference/export-templates/update-an-export-template-patch"},{"title":"Delete an export template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /export-templates/{exportTemplateId}","href":"/api-reference/export-templates/delete-an-export-template"},{"title":"Set an export template as default","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /export-templates/{exportTemplateId}/set-default","href":"/api-reference/export-templates/set-an-export-template-as-default"},{"title":"Validate an export template draft","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /export-templates/validate","href":"/api-reference/export-templates/validate-an-export-template-draft"},{"title":"Preview an unsaved export template draft","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /export-templates/preview","href":"/api-reference/export-templates/preview-an-unsaved-export-template-draft"},{"title":"Preview a saved export template","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /export-templates/{exportTemplateId}/preview","href":"/api-reference/export-templates/preview-a-saved-export-template"}]},{"group":"Currency","pages":[{"title":"Get available currencies","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /currency/available","href":"/api-reference/currency/get-available-currencies"},{"title":"Get base currency","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /currency/base","href":"/api-reference/currency/get-base-currency"},{"title":"Set base currency","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /currency/base","href":"/api-reference/currency/set-base-currency"},{"title":"Convert currency","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /currency/rates/convert","href":"/api-reference/currency/convert-currency"},{"title":"List currency rates","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /currency/rates","href":"/api-reference/currency/list-currency-rates"},{"title":"Create a currency rate","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /currency/rates","href":"/api-reference/currency/create-a-currency-rate"}]},{"group":"Unit Classes","pages":[{"title":"List unit classes","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /unit-classes","href":"/api-reference/unit-classes/list-unit-classes"},{"title":"Create unit class","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /unit-classes","href":"/api-reference/unit-classes/create-unit-class"},{"title":"Single unit class","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /unit-classes/{id}","href":"/api-reference/unit-classes/single-unit-class"},{"title":"Update unit class","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /unit-classes/{id}","href":"/api-reference/unit-classes/update-unit-class"},{"title":"Delete unit class","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /unit-classes/{id}","href":"/api-reference/unit-classes/delete-unit-class"}]},{"group":"Units of Measure","pages":[{"title":"List units of measure","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /unit-of-measures","href":"/api-reference/units-of-measure/list-units-of-measure"},{"title":"Create unit of measure","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /unit-of-measures","href":"/api-reference/units-of-measure/create-unit-of-measure"},{"title":"Single unit of measure","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /unit-of-measures/{id}","href":"/api-reference/units-of-measure/single-unit-of-measure"},{"title":"Update unit of measure","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /unit-of-measures/{id}","href":"/api-reference/units-of-measure/update-unit-of-measure"},{"title":"Delete unit of measure","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /unit-of-measures/{id}","href":"/api-reference/units-of-measure/delete-unit-of-measure"},{"title":"Set base UOM for a unit class","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /unit-classes/{unitClassId}/default-unit-of-measure/{unitOfMeasureId}","href":"/api-reference/units-of-measure/set-base-uom-for-a-unit-class"}]},{"group":"Unit Conversion Rules","pages":[{"title":"List unit conversion rules","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /unit-conversion-rules","href":"/api-reference/unit-conversion-rules/list-unit-conversion-rules"},{"title":"Create unit conversion rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /unit-conversion-rules","href":"/api-reference/unit-conversion-rules/create-unit-conversion-rule"},{"title":"Resolve effective conversion rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /unit-conversion-rules/resolve","href":"/api-reference/unit-conversion-rules/resolve-effective-conversion-rule"},{"title":"Single unit conversion rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /unit-conversion-rules/{id}","href":"/api-reference/unit-conversion-rules/single-unit-conversion-rule"},{"title":"Update unit conversion rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /unit-conversion-rules/{id}","href":"/api-reference/unit-conversion-rules/update-unit-conversion-rule"},{"title":"Delete unit conversion rule","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /unit-conversion-rules/{id}","href":"/api-reference/unit-conversion-rules/delete-unit-conversion-rule"}]}]},{"group":"Integrations","pages":[{"group":"Channels","pages":[{"title":"List channels","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /channels","href":"/api-reference/channels/list-channels"},{"title":"Create channel","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /channels","href":"/api-reference/channels/create-channel"},{"title":"Create sales channel (legacy)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /channels/sales","href":"/api-reference/channels/create-sales-channel-legacy"},{"title":"List channel restriction fields","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /channels/restriction-fields","href":"/api-reference/channels/list-channel-restriction-fields"},{"title":"Get channel","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /channels/{channelId}","href":"/api-reference/channels/get-channel"},{"title":"Update channel","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /channels/{channelId}","href":"/api-reference/channels/update-channel"},{"title":"Delete channel","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /channels/{channelId}","href":"/api-reference/channels/delete-channel"},{"title":"Lock channel","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml patch /channels/{channelId}/lock","href":"/api-reference/channels/lock-channel"},{"title":"Sync channel integration products","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /channels/{channelId}/integration-products","href":"/api-reference/channels/sync-channel-integration-products"},{"title":"Test channel restrictions against a sample order","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /channels/{channelId}/test-restrictions","href":"/api-reference/channels/test-channel-restrictions-against-a-sample-order"}]},{"group":"Integration Accounts","pages":[{"title":"List integration accounts","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-accounts","href":"/api-reference/integration-accounts/list-integration-accounts"},{"title":"Get integration account","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-accounts/{id}","href":"/api-reference/integration-accounts/get-integration-account"},{"title":"List OMS shipping methods","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-accounts/{id}/shipping-methods","href":"/api-reference/integration-accounts/list-oms-shipping-methods"},{"title":"List OMS warehouses","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-accounts/{id}/warehouses","href":"/api-reference/integration-accounts/list-oms-warehouses"},{"title":"Get the write schema for a push action","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-accounts/{id}/write-schema","href":"/api-reference/integration-accounts/get-the-write-schema-for-a-push-action"},{"title":"List OMS product links","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-accounts/{id}/oms-products","href":"/api-reference/integration-accounts/list-oms-product-links"}]},{"group":"Integration Mappings","pages":[{"title":"List integration mappings","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-mappings","href":"/api-reference/integration-mappings/list-integration-mappings"},{"title":"Create an integration mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration-mappings","href":"/api-reference/integration-mappings/create-an-integration-mapping"},{"title":"List available transformations","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-mappings/transformations","href":"/api-reference/integration-mappings/list-available-transformations"},{"title":"Get an integration mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-mappings/{id}","href":"/api-reference/integration-mappings/get-an-integration-mapping"},{"title":"Update an integration mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration-mappings/{id}","href":"/api-reference/integration-mappings/update-an-integration-mapping"},{"title":"Delete an integration mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /integration-mappings/{id}","href":"/api-reference/integration-mappings/delete-an-integration-mapping"},{"title":"Preview a mapping (dry run)","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration-mappings/{id}/preview","href":"/api-reference/integration-mappings/preview-a-mapping-dry-run"},{"title":"List a mapping's version history","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-mappings/{id}/versions","href":"/api-reference/integration-mappings/list-a-mappings-version-history"},{"title":"Get a single mapping version","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration-mappings/{id}/versions/{versionId}","href":"/api-reference/integration-mappings/get-a-single-mapping-version"},{"title":"AI auto-map a mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration-mappings/{id}/ai/auto-map","href":"/api-reference/integration-mappings/ai-auto-map-a-mapping"},{"title":"AI edit a mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration-mappings/{id}/ai/edit","href":"/api-reference/integration-mappings/ai-edit-a-mapping"},{"title":"AI draft a custom-function script","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration-mappings/{id}/ai/script","href":"/api-reference/integration-mappings/ai-draft-a-custom-function-script"}]},{"group":"Integration Field Mappings","pages":[{"title":"List integration field mappings","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration/field-mappings","href":"/api-reference/integration-field-mappings/list-integration-field-mappings"},{"title":"Create an integration field mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration/field-mappings","href":"/api-reference/integration-field-mappings/create-an-integration-field-mapping"},{"title":"Bulk create integration field mappings","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration/field-mappings/bulk","href":"/api-reference/integration-field-mappings/bulk-create-integration-field-mappings"},{"title":"List mapping groups","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration/field-mappings/groups","href":"/api-reference/integration-field-mappings/list-mapping-groups"},{"title":"List mapping field names","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration/field-mappings/fields","href":"/api-reference/integration-field-mappings/list-mapping-field-names"},{"title":"Quick-add field mappings from recent orders","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration/field-mappings/quick-add","href":"/api-reference/integration-field-mappings/quick-add-field-mappings-from-recent-orders"},{"title":"Bulk delete integration field mappings","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration/field-mappings/bulk-delete","href":"/api-reference/integration-field-mappings/bulk-delete-integration-field-mappings"},{"title":"Suggest carrier mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration/field-mappings/suggest-carrier","href":"/api-reference/integration-field-mappings/suggest-carrier-mapping"},{"title":"Create mapping and retry fulfillment","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration/field-mappings/create-and-retry","href":"/api-reference/integration-field-mappings/create-mapping-and-retry-fulfillment"},{"title":"Toggle auto carrier mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml post /integration/field-mappings/auto-carrier-mapping","href":"/api-reference/integration-field-mappings/toggle-auto-carrier-mapping"},{"title":"Get an integration field mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml get /integration/field-mappings/{id}","href":"/api-reference/integration-field-mappings/get-an-integration-field-mapping"},{"title":"Update an integration field mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml put /integration/field-mappings/{id}","href":"/api-reference/integration-field-mappings/update-an-integration-field-mapping"},{"title":"Delete an integration field mapping","deprecated":null,"version":null,"openapi":"/api-reference/build.yaml delete /integration/field-mappings/{id}","href":"/api-reference/integration-field-mappings/delete-an-integration-field-mapping"}]}]}]}]},"basePath":"","title":"Append line items to a purchase order - Luminous API Documentation","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B5zPa4Vr.js","utils-CVjrr8Yd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DTgURWzl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DxTHtkdZ.js","snippetPresets-Cx47o5Vx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-4Fr6y9N_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dq2ElbEk.js","shallow-BfYl9r69.js","getApiPlaygroundDisplay-Ch3xc7i1.js","CodeSnippet-BsBxuJ1v.js","CodeSnippets-CetzeDL8.js","Page-CYZot51e.js","getPastedJson-BxPKFSJx.js","icon-o0J1Ochb.js","MethodPill-Du3usO5m.js","DuplicateIcon-DJypyMzl.js","createIcon-YMA6N8KJ.js","DynamicMarkdown-CWvhfcZc.js","SectionHeading-BdLVaXCd.js","axios-vUo_bRtp.js","Markdown-C4Ez6OeV.js","clsx-DptzKFCt.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Dt1IougW.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CZ6Wt2Vb.js"]}