{"openapi":"3.1.0","paths":{"/api/v2/master-data":{"post":{"description":"Create or update products in your catalogue. Accepts an array of master data records. The whole batch is accepted with a `202`, or rejected with a `400` that lists every failing record and field.","operationId":"submitMasterData","parameters":[{"name":"x-correlation-id","in":"header","description":"Your own trace id for this request. Adopted for every log line Fuse writes while processing it, and returned as `correlationId` in the response body. Omitted: Fuse generates one.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Array of master data records to submit","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MasterDataRecordDto"}},"examples":{"standardStockItem":{"summary":"Standard — core (mandatory) attributes only, for a normal stock item and a kit/bundle (Master SKU)","value":[{"product":{"identifiers":{"skuId":"WIDGET-M-BLK","businessId":"ACME","nmfcCode":"156600"},"information":{"description":"Widget Medium Black","countryOfOrigin":"CN"},"classification":{"groups":["ACME","WIDGET"]},"quality":{"hazardCode":""}}},{"product":{"identifiers":{"skuId":"GIFTSET-KIT","businessId":"ACME","nmfcCode":"156600"},"information":{"description":"Gift Set Kit (Master SKU)","countryOfOrigin":"CN"},"classification":{"groups":["ACME","KIT"]},"quality":{"hazardCode":""}}}]},"alternativeBarcodes":{"summary":"Alternative barcodes — an extra retailer/EAN barcode for the same SKU","value":[{"product":{"identifiers":{"skuId":"WIDGET-M-BLK","businessId":"ACME","nmfcCode":"156600"},"information":{"description":"Widget Medium Black","countryOfOrigin":"CN"},"classification":{"groups":["ACME","WIDGET"]},"quality":{"hazardCode":""},"alternatives":[{"barcode":"5012345678900","type":"10","reference":"EA"}]}}]},"innerOuterBarcodes":{"summary":"Inner/outer pack barcodes and quantities — a multipack (inner) inside a case (outer)","value":[{"product":{"identifiers":{"skuId":"WIDGET-M-BLK","businessId":"ACME","nmfcCode":"156600"},"information":{"description":"Widget Medium Black","countryOfOrigin":"CN"},"classification":{"groups":["ACME","WIDGET"]},"quality":{"hazardCode":""},"alternatives":[{"barcode":"5012345678924","type":"08","reference":"INN,6"},{"barcode":"5012345678917","type":"09","reference":"OUT,24"}]}}]},"stockAttributes":{"summary":"Stock attributes — batch, expiry, production, and serial tracking flags","value":[{"product":{"identifiers":{"skuId":"SERUM-30ML","businessId":"ACME","nmfcCode":"156600"},"information":{"description":"Repair Serum 30ml","countryOfOrigin":"GB"},"classification":{"groups":["ACME","COSMETICS"]},"quality":{"hazardCode":""},"lifecycle":{"batchRequired":"1","expiryRequired":"1","productionRequired":"1","serialRequired":"1"}}}]},"rotation":{"summary":"Rotation method — paired with stock attributes so expiry is actually read at pick","value":[{"product":{"identifiers":{"skuId":"SERUM-30ML","businessId":"ACME","nmfcCode":"156600"},"information":{"description":"Repair Serum 30ml","countryOfOrigin":"GB"},"classification":{"groups":["ACME","COSMETICS"]},"quality":{"hazardCode":""},"lifecycle":{"batchRequired":"1","expiryRequired":"1","life":730,"rotationMethod":"F4"}}}]},"weightsDimensions":{"summary":"Item and box weights and dimensions — the shipping dimensions the warehouse uses to pick, pack and rate the product","value":[{"product":{"identifiers":{"skuId":"WIDGET-M-BLK","businessId":"ACME","nmfcCode":"156600"},"information":{"description":"Widget Medium Black","countryOfOrigin":"CN"},"classification":{"groups":["ACME","WIDGET"]},"quality":{"hazardCode":""},"dimensions":{"box":{"height":30,"width":20,"depth":15,"weight":0.5},"item":{"height":10,"width":8,"depth":5,"weight":0.1}}}}]},"hazardousProduct":{"summary":"Hazardous product — carries a real hazard classification code","value":[{"product":{"identifiers":{"skuId":"AEROSOL-SPRAY-250","businessId":"ACME","nmfcCode":"149110"},"information":{"description":"Aerosol Spray 250ml","countryOfOrigin":"GB"},"classification":{"groups":["ACME","AEROSOL"]},"quality":{"hazardCode":"3"}}}]},"attachments":{"summary":"Attachments — free-form header customisations; this example carries two to show that a product can have several","value":[{"product":{"identifiers":{"skuId":"WIDGET-M-BLK","businessId":"ACME","nmfcCode":"156600"},"information":{"description":"Widget Medium Black","countryOfOrigin":"CN"},"classification":{"groups":["ACME","WIDGET"]},"quality":{"hazardCode":""},"customisations":[{"key":"Colour","value":"Black"},{"key":"Season","value":"AW26"}]}}]}}}}},"responses":{"202":{"description":"Every record passed validation and is queued for the warehouse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"},"example":{"success":true,"recordCount":1,"messageIds":["11384719623456789"],"correlationId":"550e8400-e29b-41d4-a716-446655440000"}}}},"400":{"description":"No record was accepted. Every failing record is listed, by its index in the array you sent.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"Bad Request","status":400,"detail":"Validation failed for one or more records","instance":"/api/v2/master-data","errors":[{"index":0,"errors":["identifiers.businessId: Required","shipmentLines.0.quantities.ordered: Expected number, received string"]}]}}}},"401":{"description":"Credentials missing, malformed, or not recognised for this business.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7235#section-3.1","title":"Unauthorized","status":401,"detail":"Unauthorized","instance":"/api/v2/master-data"}}}}},"security":[{"basic":[]}],"summary":"Submit master data records","tags":["API"],"x-codeSamples":[{"lang":"bash","label":"curl","source":"# Body is a JSON array of records — save an example from this page as master-data.json.\n# Auth is HTTP Basic: username is your businessId, password is your REST connector apiKey.\ncurl -X POST 'https://api.integrations.fuse.ilg.software/api/v2/master-data' \\\n  -u \"$FUSE_BUSINESS_ID:$FUSE_API_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  --data-binary @master-data.json"},{"lang":"JavaScript","label":"Node.js","source":"import { readFile } from \"node:fs/promises\";\n\n// Body is a JSON array of records — save an example from this page as master-data.json.\nconst records = JSON.parse(await readFile(\"master-data.json\", \"utf8\"));\n\nconst credentials = Buffer.from(\n  `${process.env.FUSE_BUSINESS_ID}:${process.env.FUSE_API_KEY}`,\n).toString(\"base64\");\n\nconst response = await fetch(\"https://api.integrations.fuse.ilg.software/api/v2/master-data\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Basic ${credentials}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify(records),\n});\n\n// 202 Accepted carries recordCount, messageIds and correlationId.\n// 400 carries one entry per invalid record, keyed by its array index.\nconsole.log(response.status, await response.json());"},{"lang":"Python","label":"Python","source":"import json, os, requests\n\n# Body is a JSON array of records — save an example from this page as master-data.json.\nwith open(\"master-data.json\") as handle:\n    records = json.load(handle)\n\nresponse = requests.post(\n    \"https://api.integrations.fuse.ilg.software/api/v2/master-data\",\n    auth=(os.environ[\"FUSE_BUSINESS_ID\"], os.environ[\"FUSE_API_KEY\"]),\n    json=records,\n    timeout=30,\n)\n\n# 202 Accepted carries recordCount, messageIds and correlationId.\n# 400 carries one entry per invalid record, keyed by its array index.\nprint(response.status_code, response.json())"}]}},"/api/v2/sales-orders":{"post":{"description":"Send sales orders (Goods Out in Fuse) for fulfilment. Accepts an array of records. The whole batch is accepted with a `202`, or rejected with a `400` that lists every failing record and field. Passing validation is not the same as a fulfillable order — the mandatory fields listed below must always be present, and the Standard example shows the minimal complete shape.","operationId":"submitSalesOrders","parameters":[{"name":"x-correlation-id","in":"header","description":"Your own trace id for this request. Adopted for every log line Fuse writes while processing it, and returned as `correlationId` in the response body. Omitted: Fuse generates one.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Array of sales order records to submit","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesOrderRecordDto"}},"examples":{"standardSalesOrder":{"summary":"Standard — every ILG-mandatory field, and nothing else. Start here and layer a scenario on top. Site, warehouse, owner, order class, shipment method, route and carrier are placeholders — your real values come from your onboarding pack.","value":[{"identifiers":{"shipmentId":"SH-20260624-0042","businessId":"YOUR_BUSINESS_ID","customerId":"RETAIL-001","site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"order":{"class":"YOUR_SO_ORDER_CLASS","customerRef":"SH-20260624-0042"},"customer":{"name":"Example Retail Ltd"},"shipping":{"method":"YOUR_SHIPMENT_METHOD_LABEL","route":"YOUR_ROUTE","carrier":"YOUR_CARRIER","shippingLane":"YOUR_SHIPPING_LANE"},"financial":{"currency":"GBP","lineValue":20},"dates":{"dueOut":"2026-06-30T23:59:59Z","shipment":"2026-06-30T23:59:59Z"},"shipAddresses":[{"table":"SHH","shipmentId":"SH-20260624-0042","addressId":"1","address":{"name":"Example Retail Ltd","line1":"1 Example Way","city":"London","postcode":"EC1A 1BB","country":"GB"}}],"shipContacts":[{"table":"SHH","shipmentId":"SH-20260624-0042","lineId":"1","personal":{"firstName":"Alex","lastName":"Taylor"},"contact":{"email":"alex.taylor@example.com","phone":"+44 20 7946 0000"}}],"shipmentLines":[{"shipmentId":"SH-20260624-0042","line":"1","skuId":"WIDGET-M-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":10,"required":10},"financial":{"price":2}}]}]},"mlorBasedAttribution":{"summary":"MLOR-based stock attribution — the customer group, not the individual customer, decides which stock qualifies","value":[{"identifiers":{"shipmentId":"SH-20260624-0101","businessId":"YOUR_BUSINESS_ID","customerId":"RETAIL-001","site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"order":{"class":"YOUR_SO_ORDER_CLASS","customerRef":"SH-20260624-0101"},"customer":{"name":"Example Retail Ltd","group":"MIN12"},"shipping":{"method":"YOUR_SHIPMENT_METHOD_LABEL","route":"YOUR_ROUTE","carrier":"YOUR_CARRIER","shippingLane":"YOUR_SHIPPING_LANE"},"financial":{"currency":"GBP","lineValue":20},"dates":{"dueOut":"2026-06-30T23:59:59Z","shipment":"2026-06-30T23:59:59Z"},"shipAddresses":[{"table":"SHH","shipmentId":"SH-20260624-0101","addressId":"1","address":{"name":"Example Retail Ltd","line1":"1 Example Way","city":"London","postcode":"EC1A 1BB","country":"GB"}}],"shipContacts":[{"table":"SHH","shipmentId":"SH-20260624-0101","lineId":"1","personal":{"firstName":"Alex","lastName":"Taylor"},"contact":{"email":"alex.taylor@example.com","phone":"+44 20 7946 0000"}}],"shipmentLines":[{"shipmentId":"SH-20260624-0101","line":"1","skuId":"SERUM-30ML","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":10,"required":10},"financial":{"price":2}}]}]},"retailerWholesaleOrder":{"summary":"Retailer / wholesale order — multi-line, company ship-to, retailer's own purchase order as the secondary reference","value":[{"identifiers":{"shipmentId":"SH-20260624-0088","businessId":"YOUR_BUSINESS_ID","customerId":"RETAIL-001","site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"order":{"class":"YOUR_SO_ORDER_CLASS","customerRef":"SH-20260624-0088"},"customer":{"name":"Example Wholesale Ltd","order":"PO-EXAMPLE-55231"},"shipping":{"method":"YOUR_SHIPMENT_METHOD_LABEL","route":"YOUR_ROUTE","carrier":"YOUR_CARRIER","shippingLane":"YOUR_SHIPPING_LANE"},"financial":{"currency":"GBP","lineValue":1250},"dates":{"dueOut":"2026-07-05T23:59:59Z","shipment":"2026-07-05T23:59:59Z"},"shipAddresses":[{"table":"SHH","shipmentId":"SH-20260624-0088","addressId":"1","address":{"name":"Example Wholesale Ltd — Goods In","line1":"Unit 4, Example Distribution Park","city":"Manchester","postcode":"M1 2AB","country":"GB"}}],"shipContacts":[{"table":"SHH","shipmentId":"SH-20260624-0088","lineId":"1","personal":{"firstName":"Sam","lastName":"Patel"},"contact":{"email":"goodsin@example.com","phone":"+44 161 496 0000"}}],"shipmentLines":[{"shipmentId":"SH-20260624-0088","line":"1","skuId":"WIDGET-M-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":500,"required":500},"financial":{"price":1.5}},{"shipmentId":"SH-20260624-0088","line":"2","skuId":"WIDGET-L-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":250,"required":250},"financial":{"price":2}}]}]},"vasHeader":{"summary":"Value-added services at header level — an instruction that applies to the whole order (e.g. gift wrap)","value":[{"identifiers":{"shipmentId":"SH-20260624-0099","businessId":"YOUR_BUSINESS_ID","customerId":"RETAIL-001","site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"order":{"class":"YOUR_SO_ORDER_CLASS","customerRef":"SH-20260624-0099"},"customer":{"name":"Example Retail Ltd"},"shipping":{"method":"YOUR_SHIPMENT_METHOD_LABEL","route":"YOUR_ROUTE","carrier":"YOUR_CARRIER","shippingLane":"YOUR_SHIPPING_LANE"},"financial":{"currency":"GBP","lineValue":19.99},"dates":{"dueOut":"2026-06-30T23:59:59Z","shipment":"2026-06-30T23:59:59Z"},"shipAddresses":[{"table":"SHH","shipmentId":"SH-20260624-0099","addressId":"1","address":{"name":"Example Retail Ltd","line1":"1 Example Way","city":"London","postcode":"EC1A 1BB","country":"GB"}}],"shipContacts":[{"table":"SHH","shipmentId":"SH-20260624-0099","lineId":"1","personal":{"firstName":"Alex","lastName":"Taylor"},"contact":{"email":"alex.taylor@example.com","phone":"+44 20 7946 0000"}}],"customisations":[{"name":"GiftWrap","value":"Premium red"},{"name":"GiftMessage","value":"Happy birthday!"}],"shipmentLines":[{"shipmentId":"SH-20260624-0099","line":"1","skuId":"WIDGET-M-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":1,"required":1},"financial":{"price":19.99}}]}]},"vasLine":{"summary":"Value-added services at line level — a per-item instruction (e.g. personalisation on one SKU only)","value":[{"identifiers":{"shipmentId":"SH-20260624-0100","businessId":"YOUR_BUSINESS_ID","customerId":"RETAIL-001","site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"order":{"class":"YOUR_SO_ORDER_CLASS","customerRef":"SH-20260624-0100"},"customer":{"name":"Example Retail Ltd"},"shipping":{"method":"YOUR_SHIPMENT_METHOD_LABEL","route":"YOUR_ROUTE","carrier":"YOUR_CARRIER","shippingLane":"YOUR_SHIPPING_LANE"},"financial":{"currency":"GBP","lineValue":39.98},"dates":{"dueOut":"2026-06-30T23:59:59Z","shipment":"2026-06-30T23:59:59Z"},"shipAddresses":[{"table":"SHH","shipmentId":"SH-20260624-0100","addressId":"1","address":{"name":"Example Retail Ltd","line1":"1 Example Way","city":"London","postcode":"EC1A 1BB","country":"GB"}}],"shipContacts":[{"table":"SHH","shipmentId":"SH-20260624-0100","lineId":"1","personal":{"firstName":"Alex","lastName":"Taylor"},"contact":{"email":"alex.taylor@example.com","phone":"+44 20 7946 0000"}}],"shipmentLines":[{"shipmentId":"SH-20260624-0100","line":"1","skuId":"WIDGET-M-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":1,"required":1},"financial":{"price":19.99},"customisations":[{"name":"Engraving","value":"Happy 30th, Sam"}]},{"shipmentId":"SH-20260624-0100","line":"2","skuId":"WIDGET-L-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":1,"required":1},"financial":{"price":19.99}}]}]},"ddpOrder":{"summary":"Duty-paid (DDP) export order — duty and taxes settled by the sender, not the recipient","value":[{"identifiers":{"shipmentId":"SH-20260624-0077","businessId":"YOUR_BUSINESS_ID","customerId":"RETAIL-001","site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"order":{"class":"YOUR_SO_ORDER_CLASS","customerRef":"SH-20260624-0077"},"customer":{"name":"Example Kunde GmbH"},"shipping":{"method":"YOUR_SHIPMENT_METHOD_LABEL","route":"YOUR_ROUTE","carrier":"YOUR_CARRIER","shippingLane":"YOUR_SHIPPING_LANE"},"financial":{"currency":"EUR","lineValue":60,"dutyPaid":true},"dates":{"dueOut":"2026-07-02T23:59:59Z","shipment":"2026-07-02T23:59:59Z"},"shipAddresses":[{"table":"SHH","shipmentId":"SH-20260624-0077","addressId":"1","address":{"name":"Example Kunde GmbH","line1":"Beispielstrasse 1","city":"Berlin","postcode":"10115","country":"DE"}}],"shipContacts":[{"table":"SHH","shipmentId":"SH-20260624-0077","lineId":"1","personal":{"firstName":"Lena","lastName":"Schmidt"},"contact":{"email":"lena.schmidt@example.com","phone":"+49 30 0000 0000"}}],"shipmentLines":[{"shipmentId":"SH-20260624-0077","line":"1","skuId":"WIDGET-M-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":3,"required":3},"financial":{"price":20}}]}]},"deliveryNotes":{"summary":"Delivery / packing instructions via order notes — distinct from VAS customisations","value":[{"identifiers":{"shipmentId":"SH-20260624-0102","businessId":"YOUR_BUSINESS_ID","customerId":"RETAIL-001","site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"order":{"class":"YOUR_SO_ORDER_CLASS","customerRef":"SH-20260624-0102","notes":"Deliver to rear loading bay — call 30 minutes ahead"},"customer":{"name":"Example Retail Ltd"},"shipping":{"method":"YOUR_SHIPMENT_METHOD_LABEL","route":"YOUR_ROUTE","carrier":"YOUR_CARRIER","shippingLane":"YOUR_SHIPPING_LANE"},"financial":{"currency":"GBP","lineValue":20},"dates":{"dueOut":"2026-06-30T23:59:59Z","shipment":"2026-06-30T23:59:59Z"},"shipAddresses":[{"table":"SHH","shipmentId":"SH-20260624-0102","addressId":"1","address":{"name":"Example Retail Ltd","line1":"1 Example Way","city":"London","postcode":"EC1A 1BB","country":"GB"}}],"shipContacts":[{"table":"SHH","shipmentId":"SH-20260624-0102","lineId":"1","personal":{"firstName":"Alex","lastName":"Taylor"},"contact":{"email":"alex.taylor@example.com","phone":"+44 20 7946 0000"}}],"shipmentLines":[{"shipmentId":"SH-20260624-0102","line":"1","skuId":"WIDGET-M-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":10,"required":10},"financial":{"price":2}}]}]},"customsGoodsDescription":{"summary":"Customs goods description via header customisation — for export paperwork","value":[{"identifiers":{"shipmentId":"SH-20260624-0103","businessId":"YOUR_BUSINESS_ID","customerId":"RETAIL-001","site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"order":{"class":"YOUR_SO_ORDER_CLASS","customerRef":"SH-20260624-0103"},"customer":{"name":"Example Kunde GmbH"},"shipping":{"method":"YOUR_SHIPMENT_METHOD_LABEL","route":"YOUR_ROUTE","carrier":"YOUR_CARRIER","shippingLane":"YOUR_SHIPPING_LANE"},"financial":{"currency":"EUR","lineValue":20},"dates":{"dueOut":"2026-07-02T23:59:59Z","shipment":"2026-07-02T23:59:59Z"},"shipAddresses":[{"table":"SHH","shipmentId":"SH-20260624-0103","addressId":"1","address":{"name":"Example Kunde GmbH","line1":"Beispielstrasse 1","city":"Berlin","postcode":"10115","country":"DE"}}],"shipContacts":[{"table":"SHH","shipmentId":"SH-20260624-0103","lineId":"1","personal":{"firstName":"Lena","lastName":"Schmidt"},"contact":{"email":"lena.schmidt@example.com","phone":"+49 30 0000 0000"}}],"customisations":[{"name":"PRODDETAIL","value":"Cotton T-shirts"}],"shipmentLines":[{"shipmentId":"SH-20260624-0103","line":"1","skuId":"WIDGET-M-BLK","product":{"unitOfMeasure":"EA"},"quantities":{"ordered":10,"required":10},"financial":{"price":2}}]}]}}}}},"responses":{"202":{"description":"Every record passed validation and is queued for the warehouse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"},"example":{"success":true,"recordCount":1,"messageIds":["11384719623456789"],"correlationId":"550e8400-e29b-41d4-a716-446655440000"}}}},"400":{"description":"No record was accepted. Every failing record is listed, by its index in the array you sent.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"Bad Request","status":400,"detail":"Validation failed for one or more records","instance":"/api/v2/sales-orders","errors":[{"index":0,"errors":["identifiers.businessId: Required","shipmentLines.0.quantities.ordered: Expected number, received string"]}]}}}},"401":{"description":"Credentials missing, malformed, or not recognised for this business.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7235#section-3.1","title":"Unauthorized","status":401,"detail":"Unauthorized","instance":"/api/v2/sales-orders"}}}}},"security":[{"basic":[]}],"summary":"Submit sales order records","tags":["API"],"x-codeSamples":[{"lang":"bash","label":"curl","source":"# Body is a JSON array of records — save an example from this page as sales-orders.json.\n# Auth is HTTP Basic: username is your businessId, password is your REST connector apiKey.\ncurl -X POST 'https://api.integrations.fuse.ilg.software/api/v2/sales-orders' \\\n  -u \"$FUSE_BUSINESS_ID:$FUSE_API_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  --data-binary @sales-orders.json"},{"lang":"JavaScript","label":"Node.js","source":"import { readFile } from \"node:fs/promises\";\n\n// Body is a JSON array of records — save an example from this page as sales-orders.json.\nconst records = JSON.parse(await readFile(\"sales-orders.json\", \"utf8\"));\n\nconst credentials = Buffer.from(\n  `${process.env.FUSE_BUSINESS_ID}:${process.env.FUSE_API_KEY}`,\n).toString(\"base64\");\n\nconst response = await fetch(\"https://api.integrations.fuse.ilg.software/api/v2/sales-orders\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Basic ${credentials}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify(records),\n});\n\n// 202 Accepted carries recordCount, messageIds and correlationId.\n// 400 carries one entry per invalid record, keyed by its array index.\nconsole.log(response.status, await response.json());"},{"lang":"Python","label":"Python","source":"import json, os, requests\n\n# Body is a JSON array of records — save an example from this page as sales-orders.json.\nwith open(\"sales-orders.json\") as handle:\n    records = json.load(handle)\n\nresponse = requests.post(\n    \"https://api.integrations.fuse.ilg.software/api/v2/sales-orders\",\n    auth=(os.environ[\"FUSE_BUSINESS_ID\"], os.environ[\"FUSE_API_KEY\"]),\n    json=records,\n    timeout=30,\n)\n\n# 202 Accepted carries recordCount, messageIds and correlationId.\n# 400 carries one entry per invalid record, keyed by its array index.\nprint(response.status_code, response.json())"}]}},"/api/v2/purchase-orders":{"post":{"description":"Send purchase orders (Goods In in Fuse) to announce inbound stock. Accepts an array of records. The whole batch is accepted with a `202`, or rejected with a `400` that lists every failing record and field. The mandatory fields listed below must always be present, and the Standard example shows the minimal complete shape. Note: `order.type` is set by the platform for purchase orders — any value submitted here is ignored.","operationId":"submitPurchaseOrders","parameters":[{"name":"x-correlation-id","in":"header","description":"Your own trace id for this request. Adopted for every log line Fuse writes while processing it, and returned as `correlationId` in the response body. Omitted: Fuse generates one.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Array of purchase order records to submit","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderRecordDto"}},"examples":{"standardPurchaseOrder":{"summary":"Standard — core attributes only: everything the warehouse needs to process the order. Site, warehouse and order class are placeholders — your real values come from your onboarding pack.","value":[{"identifiers":{"id":"PO-20260624-0001","businessId":"YOUR_BUSINESS_ID"},"supplier":{"id":"SUP-001","reference":"PO-20260624-0001"},"order":{"class":"YOUR_PO_ORDER_CLASS"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID","receiptLane":"YOUR_RECEIPT_LANE"},"dates":{"dueIn":"2026-07-15T00:00:00Z"},"lines":[{"identifiers":{"purchaseOrderId":"PO-20260624-0001"},"product":{"skuId":"SKU-001","unitOfMeasure":"EA"},"quantities":{"advised":200,"ordered":200}}]}]},"attachmentNotes":{"summary":"Attachment notes — free-text order note on the header","value":[{"identifiers":{"id":"PO-20260624-0002","businessId":"YOUR_BUSINESS_ID"},"supplier":{"id":"SUP-001","reference":"PO-20260624-0002"},"order":{"class":"YOUR_PO_ORDER_CLASS"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID","receiptLane":"YOUR_RECEIPT_LANE"},"dates":{"dueIn":"2026-07-15T00:00:00Z"},"metadata":{"notes":"Fragile — unstack pallets before putaway"},"lines":[{"identifiers":{"purchaseOrderId":"PO-20260624-0002"},"product":{"skuId":"SKU-001","unitOfMeasure":"EA"},"quantities":{"advised":200,"ordered":200}}]}]},"additionalReferences":{"summary":"Additional references — supplier and business order references alongside the lead id","value":[{"identifiers":{"id":"PO-20260624-0003","businessId":"YOUR_BUSINESS_ID","businessOrderNumber":"ACME-BUY-2026-0001","purchaseOrder":"ACME-PO-REF-8842"},"supplier":{"id":"SUP-001","name":"Widget Co Ltd","reference":"WCL-PO-8842","orderNumber":"WCL-8842"},"order":{"class":"YOUR_PO_ORDER_CLASS"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID","receiptLane":"YOUR_RECEIPT_LANE"},"dates":{"dueIn":"2026-07-15T00:00:00Z"},"lines":[{"identifiers":{"purchaseOrderId":"PO-20260624-0003"},"product":{"skuId":"SKU-001","unitOfMeasure":"EA"},"quantities":{"advised":200,"ordered":200}}]}]},"differentStockStatus":{"summary":"Different stock status — lines arriving under a non-default line-level stock status","value":[{"identifiers":{"id":"PO-20260624-0004","businessId":"YOUR_BUSINESS_ID"},"supplier":{"id":"SUP-001","reference":"PO-20260624-0004"},"order":{"class":"YOUR_PO_ORDER_CLASS"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID","receiptLane":"YOUR_RECEIPT_LANE"},"dates":{"dueIn":"2026-07-15T00:00:00Z"},"lines":[{"identifiers":{"purchaseOrderId":"PO-20260624-0004"},"product":{"skuId":"SKU-001","unitOfMeasure":"EA"},"quantities":{"advised":200,"ordered":200},"location":{"stockStatus":"Q"}}]}]}}}}},"responses":{"202":{"description":"Every record passed validation and is queued for the warehouse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"},"example":{"success":true,"recordCount":1,"messageIds":["11384719623456789"],"correlationId":"550e8400-e29b-41d4-a716-446655440000"}}}},"400":{"description":"No record was accepted. Every failing record is listed, by its index in the array you sent.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"Bad Request","status":400,"detail":"Validation failed for one or more records","instance":"/api/v2/purchase-orders","errors":[{"index":0,"errors":["identifiers.businessId: Required","shipmentLines.0.quantities.ordered: Expected number, received string"]}]}}}},"401":{"description":"Credentials missing, malformed, or not recognised for this business.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7235#section-3.1","title":"Unauthorized","status":401,"detail":"Unauthorized","instance":"/api/v2/purchase-orders"}}}}},"security":[{"basic":[]}],"summary":"Submit purchase order records","tags":["API"],"x-codeSamples":[{"lang":"bash","label":"curl","source":"# Body is a JSON array of records — save an example from this page as purchase-orders.json.\n# Auth is HTTP Basic: username is your businessId, password is your REST connector apiKey.\ncurl -X POST 'https://api.integrations.fuse.ilg.software/api/v2/purchase-orders' \\\n  -u \"$FUSE_BUSINESS_ID:$FUSE_API_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  --data-binary @purchase-orders.json"},{"lang":"JavaScript","label":"Node.js","source":"import { readFile } from \"node:fs/promises\";\n\n// Body is a JSON array of records — save an example from this page as purchase-orders.json.\nconst records = JSON.parse(await readFile(\"purchase-orders.json\", \"utf8\"));\n\nconst credentials = Buffer.from(\n  `${process.env.FUSE_BUSINESS_ID}:${process.env.FUSE_API_KEY}`,\n).toString(\"base64\");\n\nconst response = await fetch(\"https://api.integrations.fuse.ilg.software/api/v2/purchase-orders\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Basic ${credentials}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify(records),\n});\n\n// 202 Accepted carries recordCount, messageIds and correlationId.\n// 400 carries one entry per invalid record, keyed by its array index.\nconsole.log(response.status, await response.json());"},{"lang":"Python","label":"Python","source":"import json, os, requests\n\n# Body is a JSON array of records — save an example from this page as purchase-orders.json.\nwith open(\"purchase-orders.json\") as handle:\n    records = json.load(handle)\n\nresponse = requests.post(\n    \"https://api.integrations.fuse.ilg.software/api/v2/purchase-orders\",\n    auth=(os.environ[\"FUSE_BUSINESS_ID\"], os.environ[\"FUSE_API_KEY\"]),\n    json=records,\n    timeout=30,\n)\n\n# 202 Accepted carries recordCount, messageIds and correlationId.\n# 400 carries one entry per invalid record, keyed by its array index.\nprint(response.status_code, response.json())"}]}},"/api/v2/return-goods":{"post":{"description":"Authorise goods coming back from your customers. Accepts an array of return goods authorisation records. The whole batch is accepted with a `202`, or rejected with a `400` that lists every failing record and field. The mandatory fields listed below must always be present, and the Standard example shows the minimal complete shape. Note: `order.type` is set by the platform — any value submitted here is ignored.","operationId":"submitReturnGoods","parameters":[{"name":"x-correlation-id","in":"header","description":"Your own trace id for this request. Adopted for every log line Fuse writes while processing it, and returned as `correlationId` in the response body. Omitted: Fuse generates one.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Array of return goods authorisation records to submit","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReturnGoodsRecordDto"}},"examples":{"standardReturn":{"summary":"Standard — mandatory fields only: everything the warehouse needs to process the return. Site, warehouse and returns supplier are placeholders — your real values come from your onboarding pack.","value":[{"identifiers":{"id":"RGA-20260624-0001","businessId":"ACME","customerId":"YOUR_RETURNS_SUPPLIER_ID","businessRgaNumber":"RGA-0001"},"order":{"class":"CUSRTN"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID","receiptLane":"YOUR_RETURN_LANE"},"dates":{"dueIn":"2026-07-10T00:00:00Z","receipt":"2026-07-10T00:00:00Z"},"quality":{"returnReason":"05"},"lines":[{"identifiers":{"returnAuthorizationId":"RGA-20260624-0001","lineNumber":"1","skuId":"WIDGET-M-BLK","businessSkuId":"WIDGET-M-BLK"},"product":{"unitOfMeasure":"EA"},"quantities":{"ordered":2,"advised":2},"dates":{"receipt":"2026-07-10T00:00:00Z"},"quality":{"returnReason":"05"}}]}]},"additionalReferences":{"summary":"Additional references — original purchase order and customer references alongside the lead id","value":[{"identifiers":{"id":"RGA-20260624-0002","businessId":"ACME","customerId":"YOUR_RETURNS_SUPPLIER_ID","businessRgaNumber":"ACME-RGA-0002","originalPurchaseOrder":"PO-20260501-0088"},"customer":{"reference":"CUST-RMA-4471"},"order":{"class":"CUSRTN"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID","receiptLane":"YOUR_RETURN_LANE"},"dates":{"dueIn":"2026-07-10T00:00:00Z","receipt":"2026-07-10T00:00:00Z"},"quality":{"returnReason":"05"},"lines":[{"identifiers":{"returnAuthorizationId":"RGA-20260624-0002","lineNumber":"1","skuId":"WIDGET-M-BLK","businessSkuId":"WIDGET-M-BLK"},"product":{"unitOfMeasure":"EA"},"quantities":{"ordered":2,"advised":2},"dates":{"receipt":"2026-07-10T00:00:00Z"},"quality":{"returnReason":"05"}}]}]},"attachmentNotes":{"summary":"Attachment notes — free-text return note on the header","value":[{"identifiers":{"id":"RGA-20260624-0003","businessId":"ACME","customerId":"YOUR_RETURNS_SUPPLIER_ID","businessRgaNumber":"ACME-RGA-0003"},"order":{"class":"CUSRTN"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID","receiptLane":"YOUR_RETURN_LANE"},"dates":{"dueIn":"2026-07-10T00:00:00Z","receipt":"2026-07-10T00:00:00Z"},"quality":{"returnReason":"05"},"metadata":{"notes":"Customer reports water damage — inspect before restock"},"lines":[{"identifiers":{"returnAuthorizationId":"RGA-20260624-0003","lineNumber":"1","skuId":"WIDGET-M-BLK","businessSkuId":"WIDGET-M-BLK"},"product":{"unitOfMeasure":"EA"},"quantities":{"ordered":2,"advised":2},"dates":{"receipt":"2026-07-10T00:00:00Z"},"quality":{"returnReason":"05"}}]}]},"differentStockStatus":{"summary":"Different stock status — returned lines arriving under a non-default stock status","value":[{"identifiers":{"id":"RGA-20260624-0004","businessId":"ACME","customerId":"YOUR_RETURNS_SUPPLIER_ID","businessRgaNumber":"ACME-RGA-0004"},"order":{"class":"CUSRTN"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID","receiptLane":"YOUR_RETURN_LANE"},"dates":{"dueIn":"2026-07-10T00:00:00Z","receipt":"2026-07-10T00:00:00Z"},"quality":{"returnReason":"05"},"lines":[{"identifiers":{"returnAuthorizationId":"RGA-20260624-0004","lineNumber":"1","skuId":"WIDGET-M-BLK","businessSkuId":"WIDGET-M-BLK"},"product":{"unitOfMeasure":"EA"},"quantities":{"ordered":2,"advised":2},"dates":{"receipt":"2026-07-10T00:00:00Z"},"quality":{"returnReason":"05"},"location":{"owner":"YOUR_OWNER_ID","stockStatus":"Q"}}]}]}}}}},"responses":{"202":{"description":"Every record passed validation and is queued for the warehouse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"},"example":{"success":true,"recordCount":1,"messageIds":["11384719623456789"],"correlationId":"550e8400-e29b-41d4-a716-446655440000"}}}},"400":{"description":"No record was accepted. Every failing record is listed, by its index in the array you sent.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"Bad Request","status":400,"detail":"Validation failed for one or more records","instance":"/api/v2/return-goods","errors":[{"index":0,"errors":["identifiers.businessId: Required","shipmentLines.0.quantities.ordered: Expected number, received string"]}]}}}},"401":{"description":"Credentials missing, malformed, or not recognised for this business.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7235#section-3.1","title":"Unauthorized","status":401,"detail":"Unauthorized","instance":"/api/v2/return-goods"}}}}},"security":[{"basic":[]}],"summary":"Submit return goods authorisation records","tags":["API"],"x-codeSamples":[{"lang":"bash","label":"curl","source":"# Body is a JSON array of records — save an example from this page as return-goods.json.\n# Auth is HTTP Basic: username is your businessId, password is your REST connector apiKey.\ncurl -X POST 'https://api.integrations.fuse.ilg.software/api/v2/return-goods' \\\n  -u \"$FUSE_BUSINESS_ID:$FUSE_API_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  --data-binary @return-goods.json"},{"lang":"JavaScript","label":"Node.js","source":"import { readFile } from \"node:fs/promises\";\n\n// Body is a JSON array of records — save an example from this page as return-goods.json.\nconst records = JSON.parse(await readFile(\"return-goods.json\", \"utf8\"));\n\nconst credentials = Buffer.from(\n  `${process.env.FUSE_BUSINESS_ID}:${process.env.FUSE_API_KEY}`,\n).toString(\"base64\");\n\nconst response = await fetch(\"https://api.integrations.fuse.ilg.software/api/v2/return-goods\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Basic ${credentials}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify(records),\n});\n\n// 202 Accepted carries recordCount, messageIds and correlationId.\n// 400 carries one entry per invalid record, keyed by its array index.\nconsole.log(response.status, await response.json());"},{"lang":"Python","label":"Python","source":"import json, os, requests\n\n# Body is a JSON array of records — save an example from this page as return-goods.json.\nwith open(\"return-goods.json\") as handle:\n    records = json.load(handle)\n\nresponse = requests.post(\n    \"https://api.integrations.fuse.ilg.software/api/v2/return-goods\",\n    auth=(os.environ[\"FUSE_BUSINESS_ID\"], os.environ[\"FUSE_API_KEY\"]),\n    json=records,\n    timeout=30,\n)\n\n# 202 Accepted carries recordCount, messageIds and correlationId.\n# 400 carries one entry per invalid record, keyed by its array index.\nprint(response.status_code, response.json())"}]}},"/api/v2/work-orders":{"post":{"description":"Send work orders for kitting, assembly and other value-added work in the warehouse. Accepts an array of records. The whole batch is accepted with a `202`, or rejected with a `400` that lists every failing record and field.","operationId":"submitWorkOrders","parameters":[{"name":"x-correlation-id","in":"header","description":"Your own trace id for this request. Adopted for every log line Fuse writes while processing it, and returned as `correlationId` in the response body. Omitted: Fuse generates one.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Array of work order records to submit","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkOrderRecordDto"}},"examples":{"oneToOneWorkOrder":{"summary":"One-to-one — one master SKU built from one component stock item","value":[{"identifiers":{"id":"WO-20260624-0001","businessId":"ACME","customerId":"CUST-001"},"workOrder":{"type":"kitting","class":"KIT","customerRef":"WO-20260624-0001"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"lines":[{"workOrderId":"WO-20260624-0001","line":"1","skuId":"GIFTSET-KIT","role":"finished_good","quantities":{"ordered":10}},{"workOrderId":"WO-20260624-0001","line":"2","skuId":"SERUM-30ML","role":"component","quantities":{"required":10}}]}]},"oneToManyWorkOrder":{"summary":"One-to-many — one master SKU built from multiple component stock items","value":[{"identifiers":{"id":"WO-20260624-0002","businessId":"ACME","customerId":"CUST-001"},"workOrder":{"type":"kitting","class":"KIT","customerRef":"WO-20260624-0002"},"location":{"site":"YOUR_SITE","warehouse":"YOUR_WAREHOUSE","ownerId":"YOUR_OWNER_ID"},"lines":[{"workOrderId":"WO-20260624-0002","line":"1","skuId":"GIFTSET-KIT","role":"finished_good","quantities":{"ordered":10}},{"workOrderId":"WO-20260624-0002","line":"2","skuId":"SERUM-30ML","role":"component","quantities":{"required":10}},{"workOrderId":"WO-20260624-0002","line":"3","skuId":"CANDLE-200G","role":"component","quantities":{"required":20}},{"workOrderId":"WO-20260624-0002","line":"4","skuId":"GIFTBOX-STD","role":"component","quantities":{"required":10}}]}]}}}}},"responses":{"202":{"description":"Every record passed validation and is queued for the warehouse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"},"example":{"success":true,"recordCount":1,"messageIds":["11384719623456789"],"correlationId":"550e8400-e29b-41d4-a716-446655440000"}}}},"400":{"description":"No record was accepted. Every failing record is listed, by its index in the array you sent.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"Bad Request","status":400,"detail":"Validation failed for one or more records","instance":"/api/v2/work-orders","errors":[{"index":0,"errors":["identifiers.businessId: Required","shipmentLines.0.quantities.ordered: Expected number, received string"]}]}}}},"401":{"description":"Credentials missing, malformed, or not recognised for this business.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetailsDto"},"example":{"type":"https://tools.ietf.org/html/rfc7235#section-3.1","title":"Unauthorized","status":401,"detail":"Unauthorized","instance":"/api/v2/work-orders"}}}}},"security":[{"basic":[]}],"summary":"Submit work order records","tags":["API"],"x-codeSamples":[{"lang":"bash","label":"curl","source":"# Body is a JSON array of records — save an example from this page as work-orders.json.\n# Auth is HTTP Basic: username is your businessId, password is your REST connector apiKey.\ncurl -X POST 'https://api.integrations.fuse.ilg.software/api/v2/work-orders' \\\n  -u \"$FUSE_BUSINESS_ID:$FUSE_API_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  --data-binary @work-orders.json"},{"lang":"JavaScript","label":"Node.js","source":"import { readFile } from \"node:fs/promises\";\n\n// Body is a JSON array of records — save an example from this page as work-orders.json.\nconst records = JSON.parse(await readFile(\"work-orders.json\", \"utf8\"));\n\nconst credentials = Buffer.from(\n  `${process.env.FUSE_BUSINESS_ID}:${process.env.FUSE_API_KEY}`,\n).toString(\"base64\");\n\nconst response = await fetch(\"https://api.integrations.fuse.ilg.software/api/v2/work-orders\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Basic ${credentials}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify(records),\n});\n\n// 202 Accepted carries recordCount, messageIds and correlationId.\n// 400 carries one entry per invalid record, keyed by its array index.\nconsole.log(response.status, await response.json());"},{"lang":"Python","label":"Python","source":"import json, os, requests\n\n# Body is a JSON array of records — save an example from this page as work-orders.json.\nwith open(\"work-orders.json\") as handle:\n    records = json.load(handle)\n\nresponse = requests.post(\n    \"https://api.integrations.fuse.ilg.software/api/v2/work-orders\",\n    auth=(os.environ[\"FUSE_BUSINESS_ID\"], os.environ[\"FUSE_API_KEY\"]),\n    json=records,\n    timeout=30,\n)\n\n# 202 Accepted carries recordCount, messageIds and correlationId.\n# 400 carries one entry per invalid record, keyed by its array index.\nprint(response.status_code, response.json())"}]}},"/api/v1/sales-orders":{"post":{"deprecated":true,"description":"Deprecated. Prefer POST /api/v2/sales-orders with v2-format payloads. Accepts goodsOut-shaped JSON or text/csv, converts them to the v2 record format for processing.","operationId":"legacySubmitSalesOrdersGoodsoutFormat","parameters":[],"requestBody":{"required":true,"description":"goodsOut request (JSON or CSV). For CSV, set `Content-Type: text/csv`; send a header row followed by one data row per order line.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyGoodsOutRequestDto"},"examples":{"json":{"summary":"JSON","value":{"oOrders":[{"AccountID":"ACME","OrdNumber":"SH-20260624-0042","DueOutDate":"2026-06-30","oOrderLines":[{"LineNumber":1,"ProductID":"WIDGET-M-BLK","Qty":5,"UoM":"EACH","SalesUnitPrice":19.99},{"LineNumber":2,"ProductID":"WIDGET-L-BLK","Qty":3,"UoM":"EACH","SalesUnitPrice":22.99}]}]}},"csv":{"summary":"CSV (Content-Type: text/csv)","value":"AccountID,OrdNumber,DueOutDate,oOrderLines_LineNumber,oOrderLines_ProductID,oOrderLines_Qty,oOrderLines_UoM\nACME,SH-20260624-0042,2026-06-30,1,WIDGET-M-BLK,5,EACH\nACME,SH-20260624-0042,2026-06-30,2,WIDGET-L-BLK,3,EACH"}}},"text/csv":{"schema":{"$ref":"#/components/schemas/LegacyGoodsOutRequestDto"},"examples":{"json":{"summary":"JSON","value":{"oOrders":[{"AccountID":"ACME","OrdNumber":"SH-20260624-0042","DueOutDate":"2026-06-30","oOrderLines":[{"LineNumber":1,"ProductID":"WIDGET-M-BLK","Qty":5,"UoM":"EACH","SalesUnitPrice":19.99},{"LineNumber":2,"ProductID":"WIDGET-L-BLK","Qty":3,"UoM":"EACH","SalesUnitPrice":22.99}]}]}},"csv":{"summary":"CSV (Content-Type: text/csv)","value":"AccountID,OrdNumber,DueOutDate,oOrderLines_LineNumber,oOrderLines_ProductID,oOrderLines_Qty,oOrderLines_UoM\nACME,SH-20260624-0042,2026-06-30,1,WIDGET-M-BLK,5,EACH\nACME,SH-20260624-0042,2026-06-30,2,WIDGET-L-BLK,3,EACH"}}}}},"responses":{"202":{"description":"Records accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"}}}},"400":{"description":"Validation failed"},"401":{"description":"Missing or invalid API key"}},"security":[{"basic":[]}],"summary":"[Legacy] Submit sales orders (goodsOut format)","tags":["Legacy"]}},"/api/v1/purchase-orders":{"post":{"deprecated":true,"description":"Deprecated. Prefer POST /api/v2/purchase-orders with v2-format payloads. Accepts goodsIn-shaped JSON or text/csv, converts them to the v2 record format for processing.","operationId":"legacySubmitPurchaseOrdersGoodsinFormat","parameters":[],"requestBody":{"required":true,"description":"goodsIn request (JSON or CSV). For CSV, set `Content-Type: text/csv`; send a header row followed by one data row per order line.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyGoodsInRequestDto"},"examples":{"json":{"summary":"JSON","value":{"iOrders":[{"AccountID":"ACME","LocationID":"WH1","StockPool":"POOL1","OrdType":"PO","ReqType":"NEW","Class":"STD","ExpDelDate":"2026-07-15","OrdNumber":"PO-20260624-0001","iOrderLines":[{"LineNumber":1,"ProductID":"WIDGET-M-BLK","Qty":200},{"LineNumber":2,"ProductID":"WIDGET-L-BLK","Qty":100}]}]}},"csv":{"summary":"CSV (Content-Type: text/csv)","value":"AccountID,LocationID,StockPool,OrdType,ReqType,Class,ExpDelDate,OrdNumber,iOrderLines_LineNumber,iOrderLines_ProductID,iOrderLines_Qty\nACME,WH1,POOL1,PO,NEW,STD,2026-07-15,PO-20260624-0001,1,WIDGET-M-BLK,200\nACME,WH1,POOL1,PO,NEW,STD,2026-07-15,PO-20260624-0001,2,WIDGET-L-BLK,100"}}},"text/csv":{"schema":{"$ref":"#/components/schemas/LegacyGoodsInRequestDto"},"examples":{"json":{"summary":"JSON","value":{"iOrders":[{"AccountID":"ACME","LocationID":"WH1","StockPool":"POOL1","OrdType":"PO","ReqType":"NEW","Class":"STD","ExpDelDate":"2026-07-15","OrdNumber":"PO-20260624-0001","iOrderLines":[{"LineNumber":1,"ProductID":"WIDGET-M-BLK","Qty":200},{"LineNumber":2,"ProductID":"WIDGET-L-BLK","Qty":100}]}]}},"csv":{"summary":"CSV (Content-Type: text/csv)","value":"AccountID,LocationID,StockPool,OrdType,ReqType,Class,ExpDelDate,OrdNumber,iOrderLines_LineNumber,iOrderLines_ProductID,iOrderLines_Qty\nACME,WH1,POOL1,PO,NEW,STD,2026-07-15,PO-20260624-0001,1,WIDGET-M-BLK,200\nACME,WH1,POOL1,PO,NEW,STD,2026-07-15,PO-20260624-0001,2,WIDGET-L-BLK,100"}}}}},"responses":{"202":{"description":"Records accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"}}}},"400":{"description":"Validation failed"},"401":{"description":"Missing or invalid API key"}},"security":[{"basic":[]}],"summary":"[Legacy] Submit purchase orders (goodsIn format)","tags":["Legacy"]}},"/api/v1/master-data":{"post":{"deprecated":true,"description":"Deprecated. Prefer POST /api/v2/master-data with v2-format payloads. Accepts masterData-shaped JSON or text/csv, converts them to the v2 record format for processing.","operationId":"legacySubmitMasterDataMasterdataFormat","parameters":[],"requestBody":{"required":true,"description":"masterData request (JSON or CSV). For CSV, set `Content-Type: text/csv`; send a header row followed by one data row per product.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyMasterDataRequestDto"},"examples":{"json":{"summary":"JSON","value":{"Products":[{"ProductID":"WIDGET-M-BLK","AccountID":"ACME","ShortDesc":"Widget Medium Black","LongDesc":"Widget in medium size, black colourway","UoM":"EACH"},{"ProductID":"WIDGET-L-BLK","AccountID":"ACME","ShortDesc":"Widget Large Black","LongDesc":"Widget in large size, black colourway","UoM":"EACH"}]}},"csv":{"summary":"CSV (Content-Type: text/csv)","value":"ProductID,AccountID,ShortDesc,LongDesc,UoM\nWIDGET-M-BLK,ACME,Widget Medium Black,Widget in medium size black colourway,EACH\nWIDGET-L-BLK,ACME,Widget Large Black,Widget in large size black colourway,EACH"}}},"text/csv":{"schema":{"$ref":"#/components/schemas/LegacyMasterDataRequestDto"},"examples":{"json":{"summary":"JSON","value":{"Products":[{"ProductID":"WIDGET-M-BLK","AccountID":"ACME","ShortDesc":"Widget Medium Black","LongDesc":"Widget in medium size, black colourway","UoM":"EACH"},{"ProductID":"WIDGET-L-BLK","AccountID":"ACME","ShortDesc":"Widget Large Black","LongDesc":"Widget in large size, black colourway","UoM":"EACH"}]}},"csv":{"summary":"CSV (Content-Type: text/csv)","value":"ProductID,AccountID,ShortDesc,LongDesc,UoM\nWIDGET-M-BLK,ACME,Widget Medium Black,Widget in medium size black colourway,EACH\nWIDGET-L-BLK,ACME,Widget Large Black,Widget in large size black colourway,EACH"}}}}},"responses":{"202":{"description":"Records accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"}}}},"400":{"description":"Validation failed"},"401":{"description":"Missing or invalid API key"}},"security":[{"basic":[]}],"summary":"[Legacy] Submit master data (masterData format)","tags":["Legacy"]}},"/api/v1/return-goods":{"post":{"deprecated":true,"description":"Deprecated. Prefer POST /api/v2/return-goods with v2-format payloads. Mirrors the legacy WMS `/wms/returns` endpoint shape; documented here so integrators can build against the contract via the sandbox. Runtime returns 501 until legacy-to-canonical mapping is wired up.","operationId":"legacySubmitReturnsReturnReqFormat","parameters":[],"requestBody":{"required":true,"description":"return request (JSON). For CSV, use Content-Type: text/csv with flattened columns.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyReturnRequestDto"},"examples":{"json":{"summary":"Return JSON","value":{"rOrders":[{"AccountID":"ACME","LocationID":"WH1","StockPool":"POOL1","OrdType":"RTN","ReqType":"NEW","Class":"WS","OrdNumber":"RTN-001","ILGRef":"RGA-12345","OrdRef1":"ORIG-PO-001","rOrderLines":[{"LineNumber":1,"ProductID":"SKU-001","Qty":2,"Reason":"DAMAGED"}]}]}}}},"text/csv":{"schema":{"$ref":"#/components/schemas/LegacyReturnRequestDto"},"examples":{"json":{"summary":"Return JSON","value":{"rOrders":[{"AccountID":"ACME","LocationID":"WH1","StockPool":"POOL1","OrdType":"RTN","ReqType":"NEW","Class":"WS","OrdNumber":"RTN-001","ILGRef":"RGA-12345","OrdRef1":"ORIG-PO-001","rOrderLines":[{"LineNumber":1,"ProductID":"SKU-001","Qty":2,"Reason":"DAMAGED"}]}]}}}}}},"responses":{"202":{"description":"Records accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"}}}},"400":{"description":"Validation failed"},"401":{"description":"Missing or invalid API key"}},"security":[{"basic":[]}],"summary":"[Legacy] Submit returns (return-req format)","tags":["Legacy"]}},"/api/v1/work-orders":{"post":{"deprecated":true,"description":"Deprecated. Prefer POST /api/v2/work-orders with v2-format payloads. Mirrors the legacy WMS `/wms/workorders` endpoint shape; documented here so integrators can build against the contract via the sandbox. Runtime returns 501 until legacy-to-canonical mapping is wired up.","operationId":"legacySubmitWorkOrdersWorkorderReqFormat","parameters":[],"requestBody":{"required":true,"description":"work order request (JSON). For CSV, use Content-Type: text/csv with flattened columns.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyWorkOrderRequestDto"},"examples":{"json":{"summary":"Work Order JSON","value":{"wOrders":[{"AccountID":"ACME","OrdNumber":"WO-001","LocationID":"WH1","StockPool":"POOL1","OrdType":"WO","ReqType":"NEW","CreatedDate":"2026-05-01","FinishedGoods":[{"LineNumber":1,"ProductID":"FG-001","Qty":10,"ExpDelDate":"2026-05-15","FGParts":[{"ProductID":"PART-A","Qty":2},{"ProductID":"PART-B","Qty":1}]}]}]}}}},"text/csv":{"schema":{"$ref":"#/components/schemas/LegacyWorkOrderRequestDto"},"examples":{"json":{"summary":"Work Order JSON","value":{"wOrders":[{"AccountID":"ACME","OrdNumber":"WO-001","LocationID":"WH1","StockPool":"POOL1","OrdType":"WO","ReqType":"NEW","CreatedDate":"2026-05-01","FinishedGoods":[{"LineNumber":1,"ProductID":"FG-001","Qty":10,"ExpDelDate":"2026-05-15","FGParts":[{"ProductID":"PART-A","Qty":2},{"ProductID":"PART-B","Qty":1}]}]}]}}}}}},"responses":{"202":{"description":"Records accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResponseDto"}}}},"400":{"description":"Validation failed"},"401":{"description":"Missing or invalid API key"}},"security":[{"basic":[]}],"summary":"[Legacy] Submit work orders (workOrder-req format)","tags":["Legacy"]}},"/api/v1/customer/{accountId}/stock":{"get":{"deprecated":true,"description":"Deprecated. Mirrors the legacy WMS `/wms/customer/{AccountID}/stock` endpoint; documented here so integrators can build against the contract via the sandbox. Returns the current stock snapshot for the account. Runtime returns 501 until the upstream stock query is wired up. Note: the original WMS swagger references the master-data shape for the response — that's a documentation bug; this endpoint is documented with a sensible stock-record shape instead.","operationId":"legacyGetStockSnapshotByAccountId","parameters":[{"name":"accountId","required":true,"in":"path","description":"account ID (business identifier)","schema":{"example":"ACME","type":"string"}}],"responses":{"200":{"description":"Current stock snapshot for the account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyStockResponseDto"}},"text/csv":{"schema":{"$ref":"#/components/schemas/LegacyStockResponseDto"}}}},"401":{"description":"Missing or invalid API key"}},"security":[{"basic":[]}],"summary":"[Legacy] Get stock snapshot by account ID","tags":["Legacy"]}}},"info":{"title":"Fuse API","description":"The Fuse REST API — send Master Data, Sales Orders, Purchase Orders, Return Goods and Work Orders into the ILG warehouse network, and receive confirmations back on webhooks as the warehouse acts on them. Use the **API** (v2) endpoints for new integrations. Legacy (v1) endpoints accept the older WMS-shaped payloads (JSON or CSV) and are deprecated. See the **Webhooks** section for the confirmation events delivered to your connector.\n\n**Authentication:** HTTP Basic — username is your `businessId`, password is your API key. Both come from your onboarding pack.\n\n**Tenancy:** Every record body must carry a `businessId` (or `product.identifiers.businessId` for master data) matching your authenticated `businessId`. Records for a different business are rejected `400`.","version":"1.0","contact":{}},"tags":[],"servers":[{"url":"https://api.integrations.fuse.ilg.software","description":"Production"},{"url":"https://api.integrations.fuse.freightops.dev","description":"Development"},{"url":"https://sandbox.api.integrations.fuse.freightops.dev","description":"Sandbox (mock)"}],"components":{"securitySchemes":{"basic":{"type":"http","scheme":"basic","description":"HTTP Basic authentication. Username is the businessId; password is the API key from the business's REST connector."}},"schemas":{"ProblemDetailsDto":{"type":"object","properties":{"type":{"type":"string","description":"A URI reference that identifies the problem type","example":"https://tools.ietf.org/html/rfc7231#section-6.5.1"},"title":{"type":"string","description":"A short, human-readable summary of the problem type","example":"Bad Request"},"status":{"type":"number","description":"The HTTP status code generated by the origin server for this occurrence of the problem","example":400},"detail":{"type":"string","description":"A human-readable explanation specific to this occurrence of the problem","example":"The request body contains invalid data"},"instance":{"type":"string","description":"A URI reference that identifies the specific occurrence of the problem","example":"/api/v2/master-data"},"errors":{"description":"Validation errors (extension field for 400 Bad Request responses). For field-level validation errors (from Zod), this is an array of FieldValidationErrorDto. For batch validation errors, this is an array of RecordValidationErrorDto.","example":[{"path":"sku","message":"Required"},{"path":"price","message":"Expected number, received string"}],"type":"array","items":{"type":"object"}}},"required":["type","title","status"]},"MasterDataRecordDto":{"type":"object","properties":{"product":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"skuId":{"type":"string","minLength":1,"description":"Your primary SKU code — the identifier every order line refers back to.","x-ilg-mandatory":"SKU ID"},"businessId":{"type":"string","minLength":1,"description":"Your Fuse business ID. Must match the businessId you authenticate with.","x-ilg-mandatory":"Business ID"},"customerId":{"type":"string","description":"An end-customer account this product belongs to, where you segment your catalogue per customer."},"nmfcCode":{"type":"string","description":"National Motor Freight Classification code — the freight class used on shipping paperwork and carrier rating. Not validated against a lookup; carried through to shipping documents as-is. Provide it for any product that ships palletised/LTL in North America; use your freight forwarder's classification.","x-ilg-mandatory":"NMFC Code"}},"required":["skuId","businessId"],"additionalProperties":{},"description":"How this product is identified, in your systems and ours."},"information":{"type":"object","properties":{"status":{"type":"string","description":"Product lifecycle status in your catalogue."},"description":{"type":"string","minLength":1,"description":"Short product description — appears on pick screens, labels, and delivery paperwork.","x-ilg-mandatory":"Description"},"text":{"type":"string","description":"Longer free-text description, where the short one is not enough."},"categories":{"type":"array","items":{"type":"string"},"description":"Free-form category labels for your own reporting."},"countryOfOrigin":{"type":"string","description":"ISO 3166 country code where the product is manufactured — required for customs on export orders.","x-ilg-mandatory":"Country of origin"},"cost":{"type":"number","description":"Unit cost price, used for insurance and customs valuation."}},"required":["description"],"additionalProperties":{},"description":"Descriptive details shown on warehouse screens and paperwork."},"classification":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"string"},"description":"Classification groups — free-form reporting buckets, not validated lookups. By convention the first entry is a business/customer-driven grouping and the second a product-type grouping.","x-ilg-mandatory":"Classification groups"},"boxUnit":{"type":"string","description":"The pack level a full box represents (e.g. INNER)."},"boxQuantity":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Units per full box."},"itemUnit":{"type":"string","description":"The selling unit of measure — a real warehouse unit code (\"EA\" is the common each/unit code); descriptive strings like \"EACH\" are rejected downstream."}},"additionalProperties":{},"description":"How the product is grouped and packed."},"lifecycle":{"type":"object","properties":{"life":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Shelf life in days."},"expiryRequired":{"type":"string","description":"\"1\" if every receipt must capture an expiry date, otherwise \"0\" (defaults to \"0\"). Pair with an expiry-aware rotationMethod or expiry is captured at goods-in and then ignored at pick."},"productionRequired":{"type":"string","description":"\"1\" if every receipt must capture a production date, otherwise \"0\"."},"batchRequired":{"type":"string","description":"\"1\" if stock is batch-tracked, otherwise \"0\". One-character flags — not \"Y\"/\"N\"."},"serialRequired":{"type":"string","description":"\"1\" if each unit carries a serial number, otherwise \"0\"."},"country":{"type":"string","description":"Country restriction for stock rotation rules, where used."},"rotationMethod":{"type":"string","description":"Warehouse rotation lookup code (max 2 characters) deciding which stock is picked first. Unset defaults to \"X1\" (lowest slot quantity — no date awareness); batch/expiry-tracked products should set an expiry-aware code such as \"F0\" (FIFO by expiry) or \"F4\" (FEFO)."},"type":{"type":"string","description":"Product type lookup code, where your setup uses one."},"class":{"type":"string","description":"Product class lookup code, where your setup uses one."},"value":{"type":"string","description":"Product value band, where your setup uses one."}},"additionalProperties":{},"description":"Batch, expiry, serial, and rotation behaviour — how stock of this product is tracked and picked."},"dimensions":{"type":"object","properties":{"box":{"type":"object","properties":{"height":{"type":"number","description":"Box height in your account's configured unit."},"width":{"type":"number","description":"Box width."},"depth":{"type":"number","description":"Box depth."},"weight":{"type":"number","description":"Box gross weight."}},"additionalProperties":{},"description":"Dimensions of a full box (outer pack)."},"item":{"type":"object","properties":{"height":{"type":"number","description":"Item height."},"width":{"type":"number","description":"Item width."},"depth":{"type":"number","description":"Item depth."},"weight":{"type":"number","description":"Item weight."}},"additionalProperties":{},"description":"Dimensions of a single selling unit."}},"additionalProperties":{},"description":"Physical dimensions and weights, for cartonisation and freight quoting."},"quality":{"type":"object","properties":{"stage":{"type":"string","description":"Inbound QC stage this product routes through, where used."},"qa":{"type":"string","description":"Quality-assurance code, where used."},"qc":{"type":"string","description":"Quality-control code, where used."},"hazardCode":{"type":"string","description":"Hazard classification lookup code for dangerous goods. Empty string means not hazardous; a hazmat product carries the code your site has configured.","x-ilg-mandatory":"Hazardous (empty if not hazardous)"}},"additionalProperties":{},"description":"Quality-control and hazard classification."},"maintenance":{"type":"object","properties":{"maintenanceIndicator":{"type":"string","description":"Maintenance state indicator, where used."},"dateHeld":{"type":"string","description":"Date the product record was placed on hold."}},"additionalProperties":{},"description":"Administrative maintenance flags."},"values":{"type":"object","properties":{"inner":{"type":"number","description":"Units per inner pack (multipack)."}},"additionalProperties":{},"description":"Pack-quantity values."},"manufacturer":{"type":"object","properties":{"name":{"type":"string","description":"Manufacturer name."},"code":{"type":"string","description":"Your code for the manufacturer."}},"additionalProperties":{},"description":"Manufacturer details for reporting and paperwork."},"customisations":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"description":"Attribute name (e.g. Colour, Season)."},"value":{"type":"string","minLength":1,"description":"Attribute value."}},"required":["key","value"],"additionalProperties":{}},"description":"Free-form key/value metadata attached to the product. Note: master data uses key/value; sales orders and work orders use name/value."},"alternatives":{"type":"array","items":{"type":"object","properties":{"barcode":{"type":"string","description":"The barcode value (EAN/UPC)."},"type":{"type":"string","description":"Barcode-type lookup code — \"10\" unit, \"08\" inner, \"09\" outer."},"reference":{"type":"string","description":"Pack-quantity convention for pack barcodes: \"INN,<qty>\" or \"OUT,<qty>\"; the unit code (e.g. \"EA\") for unit barcodes."}},"additionalProperties":{}},"description":"Additional barcodes for the same SKU. The type is a barcode-type lookup code (max 2 characters) — \"10\" each/unit, \"08\" inner pack, \"09\" outer case. An unrecognised or over-length type is silently dropped rather than rejected."}},"required":["identifiers","information"],"additionalProperties":{},"description":"The product being created or updated. One record per SKU."},"nmfc":{"type":"object","properties":{"code":{"type":"string","description":"The NMFC item code."},"class":{"type":"string","description":"The freight class (e.g. 55–500) for this item."},"description":{"type":"string","description":"The commodity description as it should appear on the bill of lading."},"unitOfMeasure":{"type":"string","description":"Unit the density/class is expressed against."},"density":{"type":"number","description":"Density (weight per cubic unit) used to derive the freight class."}},"additionalProperties":{},"description":"Freight-classification detail backing the header NMFC code — density, class, and unit of measure for carrier rating. Provide when your products ship LTL/palletised and your forwarder rates by NMFC."}},"required":["product"]},"SalesOrderRecordDto":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"id":{"type":"string"},"shipmentId":{"default":"","type":"string","description":"Your unique reference for this shipment. Reusing a value replays as the same shipment."},"businessId":{"type":"string","description":"Your Fuse business ID. Must match the businessId you authenticate with.","x-ilg-mandatory":"Business ID"},"businessSalesOrderId":{"type":"string"},"customerId":{"default":"","type":"string","description":"The retail/customer account this order ships for.","x-ilg-mandatory":"Retail ID"},"businessCustomerId":{"type":"string"},"shippingAddressId":{"type":"string"},"invoiceAddressId":{"type":"string"},"site":{"type":"string","description":"Fulfilment site code, from your onboarding configuration."},"warehouse":{"type":"string","description":"Warehouse code within the site, from your onboarding configuration.","x-ilg-mandatory":"Warehouse"},"ownerId":{"type":"string","description":"Stock owner code, from your onboarding configuration."},"consignmentId":{"type":"string"},"pickGroupId":{"type":"string"},"carrierId":{"type":"string"},"loadId":{"type":"string"},"salesOrder":{"type":"string","description":"Your sales-order number. One of order.customerRef or this is required — the warehouse shipment ID is derived from it.","x-ilg-mandatory":"Order reference"}},"required":["businessId"],"additionalProperties":{},"description":"How this order, its customer, and its warehouse placement are identified."},"order":{"type":"object","properties":{"type":{"type":"string"},"class":{"type":"string","description":"Your business's outbound order class, from your onboarding configuration. Not interchangeable with the purchase-order class.","x-ilg-mandatory":"Class"},"status":{"type":"string"},"stage":{"type":"string"},"priorityPrime":{"type":"string"},"priorityAllocation":{"type":"string","description":"Allocation priority, where used."},"priorityDespatch":{"type":"string","description":"Despatch priority, where your operation uses prioritisation."},"customerRef":{"type":"string","description":"The customer-facing order reference. One of this or identifiers.salesOrder is required.","x-ilg-mandatory":"Order reference"},"returnReason":{"type":"string"},"generalReason":{"type":"string"},"maintenanceIndicator":{"type":"string"},"supervisor":{"type":"string"},"notes":{"type":"string","description":"Free-text delivery/packing instructions, delivered to the warehouse as an instruction attachment. Use customisations for value-added services instead."}},"additionalProperties":{},"description":"Order-level classification, references, and instructions."},"customer":{"type":"object","properties":{"group":{"type":"string","description":"Customer group code. Drives group-level rules such as minimum-life-on-receipt stock attribution."},"name":{"type":"string","description":"Customer name as it should appear on paperwork and the carrier label.","x-ilg-mandatory":"Customer name"},"order":{"type":"string","description":"The customer's own order number (secondary reference)."}},"additionalProperties":{},"description":"Who the order is for."},"location":{"type":"object","properties":{"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"}},"additionalProperties":{}},"ownership":{"type":"object","properties":{"stockStatus":{"type":"string"}},"additionalProperties":{}},"documents":{"type":"object","properties":{"asnNumber":{"type":"string"},"dNoteNumber":{"type":"string"},"invoiceNumber":{"type":"string"},"manifestNumber":{"type":"string"},"billOfLading":{"type":"string"},"masterBillOfLading":{"type":"string"},"proofOfDelivery":{"type":"string"}},"additionalProperties":{}},"shipping":{"type":"object","properties":{"method":{"type":"string","description":"Shipment-method label, matched against your configured shipment methods. An unmatched value falls back to a default rather than erroring.","x-ilg-mandatory":"Ship method"},"carrierScacCode":{"type":"string"},"trackingNumber":{"type":"string"},"route":{"type":"string","description":"Routing code, from your onboarding configuration.","x-ilg-mandatory":"Route"},"loadSequence":{"type":"string"},"shippingLane":{"type":"string","description":"Shipping lane, from your onboarding configuration."},"packStation":{"type":"string"},"carrier":{"type":"string","description":"Carrier code, from your onboarding configuration.","x-ilg-mandatory":"Carrier"}},"additionalProperties":{},"description":"Carrier and routing selections."},"qualityControl":{"type":"object","properties":{"qualityControl":{"type":"string"},"shortageCode":{"type":"string"},"quantityVariance":{"type":"string"},"cutOffInd":{"type":"string"}},"additionalProperties":{}},"quantities":{"type":"object","properties":{"lines":{"type":"number"},"lineQuantity":{"type":"number"},"stockTransferUnitQuantity":{"type":"number"},"volume":{"type":"number"},"weight":{"type":"number"},"actualWeight":{"type":"number"}},"additionalProperties":{}},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"}},"additionalProperties":{}},"timing":{"type":"object","properties":{"timeToPick":{"type":"number"},"timeToPack":{"type":"number"},"timeToCheck":{"type":"number"},"timeToLoad":{"type":"number"},"timeOther":{"type":"number"},"timeToDeliver":{"type":"number"}},"additionalProperties":{}},"financial":{"type":"object","properties":{"invoiceInd":{"type":"string"},"currency":{"type":"string","description":"ISO 4217 currency code for the order values.","x-ilg-mandatory":"Currency"},"lineValue":{"type":"number","description":"Total order value across lines — required for customs on export orders.","x-ilg-mandatory":"Line value"},"discount":{"type":"number"},"packingCost":{"type":"number"},"freightCost":{"type":"number"},"insurance":{"type":"number"},"charges":{"type":"number"},"allowances":{"type":"number"},"tax":{"type":"number"},"invoiceValue":{"type":"number"},"dutyPaid":{"description":"true marks the order delivered-duty-paid: a duty attachment is written for the warehouse and carrier. Omitted is the same as false. If your DDP rules run in a connector they set this for you; calling the API directly, you set it per order."}},"additionalProperties":{},"description":"Order-level financials, used for invoicing, customs, and duty handling."},"dates":{"type":"object","properties":{"created":{"type":"string","description":"ISO 8601 date or date-time"},"suspended":{"type":"string","description":"ISO 8601 date or date-time"},"closed":{"type":"string","description":"ISO 8601 date or date-time"},"dueOut":{"type":"string","description":"When the order must leave the warehouse. Accepts an ISO 8601 date or date-time."},"shipment":{"type":"string","description":"Planned shipment date."},"delivery":{"type":"string","description":"ISO 8601 date or date-time"},"invoice":{"type":"string","description":"ISO 8601 date or date-time"}},"required":["dueOut"],"additionalProperties":{},"description":"Order lifecycle dates."},"indicators":{"type":"object","properties":{"advanceShippingNoticeIndicator":{"type":"string"},"overdueInd":{"type":"string"}},"additionalProperties":{}},"misc":{"type":"object","properties":{"values":{"type":"string"}},"additionalProperties":{}},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Attachment/instruction type name — must match the configured production name exactly (case-sensitive)."},"value":{"type":"string","description":"The instruction content."}},"required":["name","value"],"additionalProperties":{}},"description":"Header-level value-added-service instructions and attachments as name/value pairs. Names are matched case-sensitively downstream."},"shipmentLines":{"type":"array","items":{"type":"object","properties":{"shipmentId":{"default":"","type":"string","description":"The shipment this line belongs to — repeat the header shipmentId."},"line":{"default":"","type":"string","description":"Line number within the order, as a string (\"1\", \"2\", …).","x-ilg-mandatory":"Line ID"},"level":{"type":"string"},"skuId":{"default":"","type":"string","description":"The SKU being ordered — must exist as master data first.","x-ilg-mandatory":"SKU"},"businessSKU":{"type":"string"},"customerSKU":{"type":"string"},"soLineId":{"type":"number"},"product":{"type":"object","properties":{"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"default":"","type":"string","description":"A real warehouse unit code — \"EA\" is the common each/unit code; \"EACH\" is rejected.","x-ilg-mandatory":"Unit of measure"}},"additionalProperties":{},"description":"Line-level product details."},"ownership":{"type":"object","properties":{"lineOwner":{"type":"string"},"lineStockStatus":{"type":"string"},"ownerId":{"type":"string"},"stockStatus":{"type":"string"}},"additionalProperties":{}},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity the customer ordered.","x-ilg-mandatory":"Quantity ordered"},"required":{"type":"number","description":"Quantity the warehouse should allocate — send it alongside ordered; it does not default from it.","x-ilg-mandatory":"Quantity required"},"allocated":{"type":"number"},"tasked":{"type":"number"},"picked":{"type":"number"},"shipped":{"type":"number"},"delivered":{"type":"number"},"dueOut":{"type":"number"}},"required":["ordered"],"additionalProperties":{},"description":"Line quantities."},"financial":{"type":"object","properties":{"price":{"type":"number","description":"Unit price, in the order currency."},"discount":{"type":"number"},"taxRate":{"type":"number"}},"additionalProperties":{},"description":"Line-level pricing."},"quality":{"type":"object","properties":{"returnReason":{"type":"string"},"qualityControl":{"type":"string"},"shortage":{"type":"string"},"quantityVariance":{"type":"string"}},"additionalProperties":{}},"indicators":{"type":"object","properties":{"backOrderIndicator":{"type":"string"},"attachmentInd":{"type":"string"},"specialConditionInd":{"type":"string"}},"additionalProperties":{}},"location":{"type":"object","properties":{"consignmentId":{"type":"string"},"pickGroupId":{"type":"string"},"siteId":{"type":"string"},"warehouse":{"type":"string"}},"additionalProperties":{}},"business":{"type":"object","properties":{"businessId":{"type":"string"}},"additionalProperties":{}},"timing":{"type":"object","properties":{"dateShipment":{"type":"string","description":"ISO 8601 date or date-time"},"stage":{"type":"string"}},"additionalProperties":{}},"misc":{"type":"object","properties":{"lineValues":{"type":"string"}},"additionalProperties":{}},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":{}},"description":"Line-level value-added-service instructions (e.g. per-item personalisation)."},"extensions":{"type":"object","properties":{"shopify":{"type":"object","properties":{"fulfillmentId":{"type":"string"}},"required":["fulfillmentId"],"additionalProperties":{}}},"additionalProperties":{}}},"required":["quantities"],"additionalProperties":{}},"description":"The order lines."},"shipAddresses":{"type":"array","items":{"type":"object","properties":{"table":{"type":"string","enum":["SHH"],"description":"Fixed discriminator — always \"SHH\"."},"shipmentId":{"type":"string","description":"The shipment this address belongs to — repeat the header shipmentId."},"addressId":{"type":"string","description":"Address sequence within the shipment; \"1\" for a single delivery address."},"address":{"type":"object","properties":{"name":{"type":"string","description":"Recipient/company name printed on the label.","x-ilg-mandatory":"Address name"},"line1":{"type":"string","description":"First address line.","x-ilg-mandatory":"Address line 1"},"line2":{"type":"string"},"line3":{"type":"string"},"city":{"type":"string","description":"City or town.","x-ilg-mandatory":"Address city"},"state":{"type":"string"},"postcode":{"type":"string","description":"Postal code.","x-ilg-mandatory":"Address postcode"},"country":{"default":"","type":"string","description":"ISO 3166 country code.","x-ilg-mandatory":"Address country"},"region":{"type":"string"}},"additionalProperties":{},"description":"The postal address."},"coordinates":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"additionalProperties":{}}},"required":["table"],"additionalProperties":{}},"description":"Delivery address for the shipment. table is the fixed record discriminator \"SHH\"."},"shipContacts":{"type":"array","items":{"type":"object","properties":{"table":{"type":"string","enum":["SHH"],"description":"Fixed discriminator — always \"SHH\"."},"shipmentId":{"default":"","type":"string","description":"The shipment this contact belongs to — repeat the header shipmentId."},"lineId":{"default":"","type":"string","description":"Contact sequence within the shipment; \"1\" for a single contact."},"personal":{"type":"object","properties":{"title":{"type":"string"},"firstName":{"type":"string","description":"Contact first name.","x-ilg-mandatory":"First name"},"lastName":{"type":"string","description":"Contact last name.","x-ilg-mandatory":"Last name"},"salutation":{"type":"string"},"position":{"type":"string"}},"additionalProperties":{},"description":"The contact's name."},"contact":{"type":"object","properties":{"email":{"type":"string","description":"Contact email — used for carrier notifications.","x-ilg-mandatory":"Email"},"fax":{"type":"string"},"phone":{"type":"string","description":"Contact phone in international format — used for delivery coordination.","x-ilg-mandatory":"Phone"},"mobile":{"type":"string"},"pager":{"type":"string"}},"additionalProperties":{},"description":"How the carrier reaches the recipient."},"preferences":{"type":"object","properties":{"language":{"type":"string"}},"additionalProperties":{}}},"required":["table"],"additionalProperties":{}},"description":"Delivery contact — carriers reject bookings without one."}},"required":["identifiers"]},"PurchaseOrderRecordDto":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"id":{"type":"string","description":"Your unique reference for this purchase order.","x-ilg-mandatory":"Order reference"},"businessId":{"type":"string","description":"Your Fuse business ID. Must match the businessId you authenticate with.","x-ilg-mandatory":"Business ID"},"businessOrderNumber":{"type":"string","description":"Your purchasing system's order number, carried as an additional reference."},"businessSupplierId":{"type":"string"},"purchaseOrder":{"type":"string","description":"A further raw PO reference, where you carry more than one."},"prime":{"type":"string"},"consignmentId":{"type":"string"},"asnNumber":{"type":"string"},"grnNumber":{"type":"string"},"manifestNumber":{"type":"string"},"bol":{"type":"string"},"masterBol":{"type":"string"},"poc":{"type":"string"}},"required":["id","businessId"],"additionalProperties":{},"description":"How this inbound order is identified."},"order":{"type":"object","properties":{"status":{"type":"string"},"type":{"type":"string"},"class":{"type":"string","description":"Your business's goods-in order class, from your onboarding configuration. Not interchangeable with the sales-order class — a different code list applies inbound.","x-ilg-mandatory":"Class"},"stage":{"type":"string"},"priority":{"type":"string"},"maintenanceIndicator":{"type":"string"}},"additionalProperties":{},"description":"Order-level classification."},"supplier":{"type":"object","properties":{"id":{"type":"string","description":"Your supplier code."},"group":{"type":"string"},"name":{"type":"string","description":"Supplier name."},"orderNumber":{"type":"string","description":"The supplier's own order number."},"reference":{"type":"string","description":"The supplier's reference for this delivery — what the warehouse books the arrival against."}},"required":["id","reference"],"additionalProperties":{},"description":"Who is delivering the stock."},"location":{"type":"object","properties":{"site":{"type":"string","description":"Receiving site code, from your onboarding configuration."},"warehouse":{"type":"string","description":"Warehouse code within the site.","x-ilg-mandatory":"Warehouse"},"ownerId":{"type":"string","description":"Stock owner the receipt books against.","x-ilg-mandatory":"Owner"},"stockStatus":{"type":"string"},"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"},"receiptLane":{"type":"string","description":"Receiving lane, where your site uses lane routing."}},"additionalProperties":{},"description":"Where the stock is arriving."},"shipping":{"type":"object","properties":{"method":{"type":"string"},"carrier":{"type":"object","properties":{"id":{"type":"string"},"scac":{"type":"string"},"trackingNumber":{"type":"string"},"trackingUrl":{"type":"string"}},"additionalProperties":{}},"route":{"type":"string"},"loadId":{"type":"string"},"loadSequence":{"type":"string"}},"additionalProperties":{}},"quality":{"type":"object","properties":{"qualityAssurance":{"type":"string"},"acceptance":{"type":"string"},"variance":{"type":"string"},"returnReason":{"type":"string"},"acceptanceCode":{"type":"string"},"ignore":{"type":"string"}},"additionalProperties":{}},"quantities":{"type":"object","properties":{"totalLines":{"type":"number"},"totalQuantity":{"type":"number"},"storeUnitsQuantity":{"type":"number"},"volume":{"type":"number"},"weight":{"type":"number"},"actualWeight":{"type":"number"}},"additionalProperties":{}},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"}},"additionalProperties":{}},"times":{"type":"object","properties":{"toUnload":{"type":"number"},"toInspect":{"type":"number"},"toPutaway":{"type":"number"},"other":{"type":"number"},"toCollect":{"type":"number"}},"additionalProperties":{}},"personnel":{"type":"object","properties":{"supervisor":{"type":"string"},"reason":{"type":"string"}},"additionalProperties":{}},"dates":{"type":"object","properties":{"receipt":{"type":"string","description":"ISO 8601 date or date-time"},"created":{"type":"string","description":"ISO 8601 date or date-time"},"suspended":{"type":"string","description":"ISO 8601 date or date-time"},"closed":{"type":"string","description":"ISO 8601 date or date-time"},"collected":{"type":"string","description":"ISO 8601 date or date-time"},"dueIn":{"type":"string","description":"Expected delivery date. Accepts an ISO 8601 date or date-time.","x-ilg-mandatory":"Expected delivery date"},"arrival":{"type":"string","description":"ISO 8601 date or date-time"}},"required":["dueIn"],"additionalProperties":{},"description":"Delivery dates."},"indicators":{"type":"object","properties":{"asn":{"type":"string"},"paperwork":{"type":"string"},"overdue":{"type":"string"}},"additionalProperties":{}},"metadata":{"type":"object","properties":{"notes":{"type":"string","description":"Free-text note for the receiving team."}},"additionalProperties":{},"description":"Order-level notes. The purchase order carries a single note field — there is no customisations array inbound."},"lines":{"type":"array","items":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"purchaseOrderId":{"type":"string","description":"The purchase order this line belongs to — repeat the header id."},"lineNumber":{"type":"string","description":"Line number within the order, as a string."},"level":{"type":"string"},"id":{"type":"number"},"consignmentId":{"type":"string"}},"required":["purchaseOrderId"],"additionalProperties":{},"description":"Line identification."},"product":{"type":"object","properties":{"skuId":{"type":"string","description":"The SKU being delivered — must exist as master data first.","x-ilg-mandatory":"SKU ID"},"businessSkuId":{"type":"string"},"supplierSku":{"type":"string","description":"The supplier's own code for the product, where it differs."},"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"type":"string","description":"A real warehouse unit code — \"EA\" is the common each/unit code; \"EACH\" is rejected."}},"required":["skuId","unitOfMeasure"],"additionalProperties":{},"description":"What is arriving."},"location":{"type":"object","properties":{"site":{"type":"string"},"warehouse":{"type":"string"},"owner":{"type":"string"},"stockStatus":{"type":"string","description":"Receive this line's stock under a non-default stock status code (e.g. quarantine for inspection before release)."},"primarySite":{"type":"string"},"primaryWarehouse":{"type":"string"}},"additionalProperties":{},"description":"Line-level placement overrides."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity originally ordered from the supplier.","x-ilg-mandatory":"Order quantity"},"advised":{"type":"number","description":"Quantity the supplier has advised is on this delivery.","x-ilg-mandatory":"Advised quantity"},"received":{"type":"number"},"rejected":{"type":"number"},"inOrder":{"type":"number"},"dueIn":{"type":"number"},"spawn":{"type":"number"}},"required":["advised"],"additionalProperties":{},"description":"Expected quantities. Send both ordered and advised — ordered does not default from advised."},"quality":{"type":"object","properties":{"returnReason":{"type":"string"},"qualityAssurance":{"type":"string"},"acceptance":{"type":"string"},"variance":{"type":"string"}},"additionalProperties":{}},"dates":{"type":"object","properties":{"receipt":{"type":"string","description":"ISO 8601 date or date-time"},"primaryReceipt":{"type":"string","description":"ISO 8601 date or date-time"}},"additionalProperties":{}},"metadata":{"type":"object","properties":{"values":{"type":"string"},"shippingAddress":{"type":"string"},"businessId":{"type":"string"},"owner":{"type":"string"},"stockStatus":{"type":"string"},"hasAttachment":{"type":"string"},"hasSpecialConditions":{"type":"string"},"stage":{"type":"string"},"backOrderIndicator":{"type":"string"},"ignore":{"type":"string"}},"additionalProperties":{}}},"required":["identifiers","product","quantities"],"additionalProperties":{}},"description":"The expected lines."}},"required":["identifiers","supplier","dates","lines"]},"ReturnGoodsRecordDto":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"id":{"type":"string","description":"Your unique reference for this return authorisation.","x-ilg-mandatory":"Order reference"},"queueId":{"type":"string"},"businessId":{"type":"string","description":"Your Fuse business ID. Must match the businessId you authenticate with.","x-ilg-mandatory":"Business ID"},"businessRgaNumber":{"type":"string","description":"Lead return reference the warehouse books the arrival against (limited to roughly 20 characters downstream)."},"customerId":{"type":"string","description":"The returning party — a supplier code registered for your business (for some businesses this is your own business ID, for others a distinct code; confirm at onboarding)."},"businessCustomerId":{"type":"string"},"originalPurchaseOrder":{"type":"string","description":"The original order this return relates to, where known."},"prime":{"type":"string"},"consignmentId":{"type":"string"},"grnNumber":{"type":"string"},"manifestNumber":{"type":"string"},"poc":{"type":"string"},"shippingAddressId":{"type":"string"},"invoiceAddressId":{"type":"string"}},"required":["id","businessId","customerId"],"additionalProperties":{},"description":"How this return is identified."},"order":{"type":"object","properties":{"status":{"type":"string"},"type":{"type":"string"},"class":{"type":"string","description":"The return discriminator — customer return vs wholesale return code from your onboarding configuration. This, not order.type, marks the receipt as a return.","x-ilg-mandatory":"Class"},"stage":{"type":"string"},"priority":{"type":"string"},"maintenanceIndicator":{"type":"string"}},"additionalProperties":{},"description":"Return classification."},"customer":{"type":"object","properties":{"group":{"type":"string"},"name":{"type":"string"},"reference":{"type":"string","description":"The customer's own returns (RMA) reference."}},"additionalProperties":{},"description":"The end customer returning the goods."},"location":{"type":"object","properties":{"site":{"type":"string","description":"Receiving site code."},"warehouse":{"type":"string","description":"Warehouse code within the site.","x-ilg-mandatory":"Warehouse"},"ownerId":{"type":"string","description":"Stock owner the return books against.","x-ilg-mandatory":"Owner"},"stockStatus":{"type":"string"},"region":{"type":"string"},"receiptLane":{"type":"string","description":"Returns lane, where your site uses lane routing."}},"additionalProperties":{},"description":"Where the return is arriving."},"shipping":{"type":"object","properties":{"method":{"type":"string"},"carrier":{"type":"object","properties":{"id":{"type":"string"},"trackingNumber":{"type":"string"}},"additionalProperties":{}},"route":{"type":"string"},"loadId":{"type":"string"},"loadSequence":{"type":"number"}},"additionalProperties":{}},"quality":{"type":"object","properties":{"qualityAssurance":{"type":"string"},"acceptanceCode":{"type":"string"},"variance":{"type":"string"},"returnReason":{"type":"string","description":"Numeric return-reason lookup code for your account — not a descriptive string. Required at header and line level."}},"additionalProperties":{},"description":"Return reasons and inspection."},"quantities":{"type":"object","properties":{"totalLines":{"type":"number"},"totalQuantity":{"type":"number"},"storeUnitsQuantity":{"type":"number"},"volume":{"type":"number"},"weight":{"type":"number"},"actualWeight":{"type":"number"}},"additionalProperties":{}},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"}},"additionalProperties":{}},"times":{"type":"object","properties":{"toUnload":{"type":"number"},"toInspect":{"type":"number"},"toPutaway":{"type":"number"},"other":{"type":"number"},"toCollect":{"type":"number"}},"additionalProperties":{}},"personnel":{"type":"object","properties":{"supervisor":{"type":"string"},"reason":{"type":"string"}},"additionalProperties":{}},"dates":{"type":"object","properties":{"created":{"type":"string","description":"ISO 8601 date or date-time"},"suspended":{"type":"string","description":"ISO 8601 date or date-time"},"closed":{"type":"string","description":"ISO 8601 date or date-time"},"collected":{"type":"string","description":"ISO 8601 date or date-time"},"dueIn":{"type":"string","description":"Expected arrival date.","x-ilg-mandatory":"Expected delivery date"},"arrival":{"type":"string","description":"ISO 8601 date or date-time"},"receipt":{"type":"string","description":"Receipt date — required at header and line level."}},"additionalProperties":{},"description":"Return dates."},"indicators":{"type":"object","properties":{"asn":{"type":"string"},"paperwork":{"type":"string"},"overdue":{"type":"string"}},"additionalProperties":{}},"metadata":{"type":"object","properties":{"notes":{"type":"string","description":"Free-text note for the returns team (e.g. reported damage to inspect for)."}},"additionalProperties":{},"description":"Return-level notes. The return carries a single note field — there is no customisations array."},"lines":{"type":"array","items":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"returnAuthorizationId":{"type":"string","description":"The return this line belongs to — repeat the header id."},"lineNumber":{"type":"string","description":"Line number within the return, as a string."},"level":{"type":"string"},"id":{"type":"number"},"consignmentId":{"type":"string"},"businessId":{"type":"string"},"skuId":{"type":"string","description":"The SKU being returned.","x-ilg-mandatory":"SKU ID"},"businessSkuId":{"type":"string","description":"Your SKU code for the product — usually the same value as skuId."},"batchId":{"type":"string"}},"required":["returnAuthorizationId","lineNumber","skuId","businessSkuId"],"additionalProperties":{},"description":"Line identification."},"product":{"type":"object","properties":{"unitOfMeasure":{"type":"string","description":"A real warehouse unit code — \"EA\" is the common each/unit code; \"EACH\" is rejected."},"upcDescription":{"type":"string"}},"additionalProperties":{},"description":"Line-level product details."},"location":{"type":"object","properties":{"site":{"type":"string"},"warehouse":{"type":"string"},"owner":{"type":"string","description":"Stock owner for this line — required whenever a line location block is present."},"stockStatus":{"type":"string","description":"Receive the returned units under a non-default stock status code (e.g. quarantine for inspection before resale)."}},"required":["owner"],"additionalProperties":{},"description":"Line-level placement overrides. owner is required whenever this block is present."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity authorised for return.","x-ilg-mandatory":"Order quantity"},"advised":{"type":"number","description":"Quantity advised as actually on its way back.","x-ilg-mandatory":"Advised quantity"},"received":{"type":"number"},"rejected":{"type":"number"},"dueIn":{"type":"number"}},"required":["advised"],"additionalProperties":{},"description":"Return quantities. Send both ordered and advised — ordered does not default from advised."},"quality":{"type":"object","properties":{"returnReason":{"type":"string","description":"Numeric return-reason lookup code — required alongside the header code."},"qualityAssurance":{"type":"string"},"acceptance":{"type":"string"},"variance":{"type":"string"}},"additionalProperties":{},"description":"Line-level return reason."},"dates":{"type":"object","properties":{"receipt":{"type":"string","description":"Line receipt date — required alongside the header date."},"expiry":{"type":"string","description":"ISO 8601 date or date-time"}},"additionalProperties":{},"description":"Line dates."},"metadata":{"type":"object","properties":{"owner":{"type":"string"},"stockStatus":{"type":"string"},"hasAttachment":{"type":"string"},"hasSpecialConditions":{"type":"string"},"stage":{"type":"string"},"backOrderIndicator":{"type":"string"}},"additionalProperties":{}}},"required":["identifiers","quantities"],"additionalProperties":{}},"description":"The returned lines."},"returnAddresses":{"type":"array","items":{"type":"object","properties":{"table":{"type":"string"},"returnAuthorizationId":{"type":"string"},"addressId":{"type":"string"},"address":{"type":"object","properties":{"name":{"type":"string"},"line1":{"type":"string"},"line2":{"type":"string"},"line3":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"required":["country"],"additionalProperties":{}},"coordinates":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"additionalProperties":{}}},"required":["table"],"additionalProperties":{}}}},"required":["identifiers","lines"]},"WorkOrderRecordDto":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"id":{"type":"string","description":"Your unique reference for this work order."},"businessId":{"type":"string","description":"Your Fuse business ID. Must match the businessId you authenticate with."},"businessWorkOrderId":{"type":"string"},"customerId":{"type":"string","description":"The customer account the work is for."},"businessCustomerId":{"type":"string"},"shipmentId":{"type":"string"},"salesOrder":{"type":"string"},"consignmentId":{"type":"string"},"pickGroupId":{"type":"string"},"prime":{"type":"string"}},"required":["id","businessId","customerId"],"additionalProperties":{},"description":"How this work order is identified."},"workOrder":{"type":"object","properties":{"type":{"type":"string","enum":["kitting","rework","quality_check","special_handling","disposition"],"description":"The work type — kitting (build a bundle from components), rework, quality_check, special_handling, or disposition."},"class":{"type":"string","description":"Work-order class code from your onboarding configuration."},"status":{"type":"string"},"stage":{"type":"string"},"priorityPrime":{"type":"string"},"priorityAllocation":{"type":"string"},"priorityDespatch":{"type":"string"},"customerRef":{"type":"string","description":"The customer-facing work-order reference.","x-ilg-mandatory":"Order reference"},"instructions":{"type":"string","description":"Free-text build instructions for the warehouse team."},"notes":{"type":"string"},"supervisor":{"type":"string"},"generalReason":{"type":"string"},"returnReason":{"type":"string"},"maintenanceIndicator":{"type":"string"}},"additionalProperties":{},"description":"What kind of work this is and how it is referenced."},"customer":{"type":"object","properties":{"group":{"type":"string"},"name":{"type":"string"},"reference":{"type":"string"}},"additionalProperties":{}},"location":{"type":"object","properties":{"site":{"type":"string","description":"Site code, from your onboarding configuration."},"warehouse":{"type":"string","description":"Warehouse code within the site."},"ownerId":{"type":"string","description":"Stock owner the work books against.","x-ilg-mandatory":"Owner"},"stockStatus":{"type":"string"},"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"}},"additionalProperties":{},"description":"Where the work happens."},"qualityControl":{"type":"object","properties":{"qualityControl":{"type":"string"},"shortageCode":{"type":"string"},"quantityVariance":{"type":"string"},"cutOffInd":{"type":"string"}},"additionalProperties":{}},"quantities":{"type":"object","properties":{"totalLines":{"type":"number"},"totalComponents":{"type":"number"},"totalFinishedGoods":{"type":"number"},"totalQuantity":{"type":"number"},"stockTransferUnitQuantity":{"type":"number"},"volume":{"type":"number"},"weight":{"type":"number"},"actualWeight":{"type":"number"}},"additionalProperties":{}},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"}},"additionalProperties":{}},"timing":{"type":"object","properties":{"timeToPick":{"type":"number"},"timeToPack":{"type":"number"},"timeToCheck":{"type":"number"},"timeToLoad":{"type":"number"},"timeOther":{"type":"number"},"timeToDeliver":{"type":"number"}},"additionalProperties":{}},"financial":{"type":"object","properties":{"currency":{"type":"string"}},"additionalProperties":{}},"shipping":{"type":"object","properties":{"shippingLane":{"type":"string"}},"additionalProperties":{}},"dates":{"type":"object","properties":{"created":{"type":"string","description":"ISO 8601 date or date-time"},"dueBy":{"type":"string","description":"When the work must be complete."},"dueOut":{"type":"string","description":"ISO 8601 date or date-time"},"started":{"type":"string","description":"ISO 8601 date or date-time"},"completed":{"type":"string","description":"ISO 8601 date or date-time"},"shipment":{"type":"string","description":"ISO 8601 date or date-time"},"delivery":{"type":"string","description":"ISO 8601 date or date-time"},"closed":{"type":"string","description":"ISO 8601 date or date-time"},"suspended":{"type":"string","description":"ISO 8601 date or date-time"}},"additionalProperties":{},"description":"Work-order dates."},"indicators":{"type":"object","properties":{"overdue":{"type":"string"},"paperwork":{"type":"string"}},"additionalProperties":{}},"metadata":{"type":"object","properties":{"notes":{"type":"string"}},"additionalProperties":{}},"misc":{"type":"object","properties":{"values":{"type":"string"}},"additionalProperties":{}},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":{}}},"lines":{"type":"array","items":{"type":"object","properties":{"workOrderId":{"type":"string","description":"The work order this line belongs to — repeat the header id."},"line":{"type":"string","description":"Line number within the work order, as a string.","x-ilg-mandatory":"Line ID"},"level":{"type":"string"},"skuId":{"type":"string","description":"The SKU on this line — the master/kit SKU on the finished-good line, a component SKU otherwise.","x-ilg-mandatory":"SKU code"},"businessSKU":{"type":"string"},"customerSKU":{"type":"string"},"customerOrder":{"type":"string"},"soLineId":{"type":"number"},"role":{"type":"string","enum":["component","finished_good"],"description":"finished_good marks the master SKU being produced; component marks a stock item consumed to build it."},"product":{"type":"object","properties":{"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"type":"string"},"catchWeight":{"type":"number"}},"additionalProperties":{}},"ownership":{"type":"object","properties":{"lineOwner":{"type":"string"},"lineStockStatus":{"type":"string"},"ownerId":{"type":"string"},"stockStatus":{"type":"string"}},"additionalProperties":{}},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity of the finished good to build."},"required":{"type":"number","description":"Total component quantity consumed across the whole build (10 kits needing two each = 20)."},"allocated":{"type":"number"},"tasked":{"type":"number"},"picked":{"type":"number"},"consumed":{"type":"number"},"produced":{"type":"number"},"shipped":{"type":"number"},"delivered":{"type":"number"},"dueOut":{"type":"number"}},"additionalProperties":{},"description":"Line quantities — ordered on the finished-good line, required on component lines."},"quality":{"type":"object","properties":{"returnReason":{"type":"string"},"qualityControl":{"type":"string"},"shortage":{"type":"string"},"quantityVariance":{"type":"string"}},"additionalProperties":{}},"indicators":{"type":"object","properties":{"backOrderIndicator":{"type":"string"},"attachmentInd":{"type":"string"},"specialConditionInd":{"type":"string"}},"additionalProperties":{}},"location":{"type":"object","properties":{"consignmentId":{"type":"string"},"pickGroupId":{"type":"string"},"siteId":{"type":"string"},"warehouse":{"type":"string"}},"additionalProperties":{}},"business":{"type":"object","properties":{"businessId":{"type":"string"}},"additionalProperties":{}},"timing":{"type":"object","properties":{"datePicked":{"type":"string","description":"ISO 8601 date or date-time"},"dateConsumed":{"type":"string","description":"ISO 8601 date or date-time"},"dateProduced":{"type":"string","description":"ISO 8601 date or date-time"},"dateShipment":{"type":"string","description":"ISO 8601 date or date-time"},"stage":{"type":"string"}},"additionalProperties":{}},"misc":{"type":"object","properties":{"lineValues":{"type":"string"}},"additionalProperties":{}},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":{}}}},"required":["workOrderId","line","skuId","role","quantities"],"additionalProperties":{}},"description":"The work-order lines — the finished good being built and the components consumed. Component quantities are totals for the whole build, not per kit."}},"required":["identifiers","lines"]},"LegacyGoodsOutRequestDto":{"type":"object","properties":{"oOrders":{"type":"array","items":{"type":"object","properties":{"AccountID":{"type":"string"},"OrdNumber":{"type":"string"},"oOrderLines":{"type":"array","items":{"type":"object","properties":{"LineNumber":{"type":"number"},"ProductID":{"type":"string"},"Qty":{"type":"number"},"UoM":{"type":"string","enum":["EACH","INNER","OUTER"]},"SalesUnitPrice":{"type":"number"},"SalesLineTotal":{"type":"number"}},"required":["LineNumber","ProductID","Qty"]}},"Addresses":{"type":"array","items":{"type":"object","properties":{"AddType":{"type":"string"},"Add1":{"type":"string"},"City":{"type":"string"},"CountryCode":{"type":"string"},"Phone":{"type":"string"},"Name":{"type":"string"},"Firstname":{"type":"string"},"Lastname":{"type":"string"},"Email":{"type":"string"},"Add2":{"type":"string"},"Add3":{"type":"string"},"Country":{"type":"string"},"Postcode":{"type":"string"},"State":{"type":"string"},"Mobile":{"type":"string"},"Title":{"type":"string"}},"required":["AddType","Add1","City","CountryCode","Phone","Name","Firstname","Lastname","Email"]}},"Class":{"type":"string"},"LocationID":{"type":"string"},"StockPool":{"type":"string"},"OrdType":{"type":"string"},"ReqType":{"type":"string"},"Service":{"type":"string"},"RetailID":{"type":"string"},"OrdRef1":{"type":"string"},"SalesCurr":{"type":"string"},"EntityID":{"type":"string"},"DueOutDate":{"type":"string"},"ExpDelDate":{"type":"string"}},"required":["AccountID","OrdNumber","oOrderLines"]}}},"required":["oOrders"]},"BulkResponseDto":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the request was successfully accepted","example":true},"recordCount":{"type":"number","description":"Number of records accepted for processing","example":10},"messageIds":{"description":"Pub/Sub message IDs for tracking","example":["msg-123","msg-456"],"type":"array","items":{"type":"string"}},"correlationId":{"type":"string","description":"Correlation ID for request tracing","example":"550e8400-e29b-41d4-a716-446655440000"}},"required":["success","recordCount","messageIds","correlationId"]},"LegacyGoodsInRequestDto":{"type":"object","properties":{"iOrders":{"type":"array","items":{"type":"object","properties":{"AccountID":{"type":"string"},"LocationID":{"type":"string"},"StockPool":{"type":"string"},"OrdType":{"type":"string"},"ReqType":{"type":"string"},"Class":{"type":"string"},"ExpDelDate":{"type":"string"},"OrdNumber":{"type":"string"},"iOrderLines":{"type":"array","items":{"type":"object","properties":{"LineNumber":{"type":"number"},"ProductID":{"type":"string"},"Qty":{"type":"number"},"UoM":{"type":"string","enum":["EACH","INNER","OUTER"]},"LineDelDate":{"type":"string"}},"required":["LineNumber","ProductID","Qty"]}},"EntityID":{"type":"string"},"OrdRef1":{"type":"string"},"Notes":{"type":"string"}},"required":["AccountID","LocationID","StockPool","OrdType","ReqType","Class","ExpDelDate","OrdNumber","iOrderLines"]}}},"required":["iOrders"]},"LegacyMasterDataRequestDto":{"type":"object","properties":{"Products":{"type":"array","items":{"type":"object","properties":{"ProductID":{"type":"string"},"AccountID":{"type":"string"},"ShortDesc":{"type":"string"},"LongDesc":{"type":"string"},"UoM":{"type":"string","enum":["EACH","INNER","OUTER"]},"StockPool":{"type":"string"},"Brand":{"type":"string"},"PrdStatus":{"type":"string"},"PrdType":{"type":"string"},"ReqType":{"type":"string"}},"required":["ProductID"]}}},"required":["Products"]},"LegacyReturnRequestDto":{"type":"object","properties":{"rOrders":{"type":"array","items":{"type":"object","properties":{"AccountID":{"type":"string"},"LocationID":{"type":"string"},"StockPool":{"type":"string"},"OrdType":{"type":"string"},"ReqType":{"type":"string"},"Class":{"type":"string"},"OrdNumber":{"type":"string"},"ILGRef":{"type":"string"},"OrdRef1":{"type":"string"},"rOrderLines":{"type":"array","items":{"type":"object","properties":{"LineNumber":{"type":"number"},"ProductID":{"type":"string"},"Qty":{"type":"number"},"Reason":{"type":"string"},"AltLineID":{"type":"number"},"AltProductID":{"type":"string"},"BatchID":{"type":"string"},"LineDelDate":{"type":"string"},"PrdStatus":{"type":"string"},"ProductionDate":{"type":"string"},"UoM":{"type":"string","enum":["EACH","INNER","OUTER"]}},"required":["LineNumber","ProductID","Qty","Reason"]}},"OrdRef2":{"type":"string"},"OrdRef3":{"type":"string"},"ExpDelDate":{"type":"string"},"EntityID":{"type":"string"},"Notes":{"type":"string"},"CorrelationID":{"type":"string"}},"required":["AccountID","LocationID","StockPool","OrdType","ReqType","Class","OrdNumber","ILGRef","OrdRef1"]}}},"required":["rOrders"]},"LegacyWorkOrderRequestDto":{"type":"object","properties":{"wOrders":{"type":"array","items":{"type":"object","properties":{"AccountID":{"type":"string"},"OrdNumber":{"type":"string"},"FinishedGoods":{"type":"array","items":{"type":"object","properties":{"LineNumber":{"type":"number"},"ProductID":{"type":"string"},"Qty":{"type":"number"},"ExpDelDate":{"type":"string"},"Life":{"type":"number"},"FGParts":{"type":"array","items":{"type":"object","properties":{"ProductID":{"type":"string"},"Qty":{"type":"number"}},"required":["ProductID","Qty"]}}},"required":["LineNumber","ProductID","Qty"]}},"LocationID":{"type":"string"},"StockPool":{"type":"string"},"OrdType":{"type":"string"},"ReqType":{"type":"string"},"OrdRef1":{"type":"string"},"OrdRef2":{"type":"string"},"CreatedDate":{"type":"string"},"Notes":{"type":"string"}},"required":["AccountID","OrdNumber"]}}},"required":["wOrders"]},"LegacyStockResponseDto":{"type":"object","properties":{"stock":{"type":"array","items":{"type":"object","properties":{"AccountID":{"type":"string"},"ProductID":{"type":"string"},"Qty":{"type":"number"},"LocationID":{"type":"string"},"StockPool":{"type":"string"},"PrdStatus":{"type":"string"},"UoM":{"type":"string","enum":["EACH","INNER","OUTER"]}},"required":["AccountID","ProductID","Qty"]}}},"required":["stock"]},"GoodsInConfirmation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identifiers":{"type":"object","properties":{"receiptId":{"type":"string","description":"The warehouse receipt reference for this delivery."},"consignmentId":{"type":"string","description":"Warehouse consignment reference grouping the stock involved."},"bizId":{"type":"string"},"businessId":{"type":"string","description":"Your Fuse business ID."},"ownerId":{"type":"string","description":"Stock owner the receipt was booked against."},"queueId":{"type":"string","description":"Internal reference of the warehouse outbound-queue entry this confirmation was built from — useful when raising a support query."}},"required":["receiptId","bizId","businessId","ownerId","queueId"],"additionalProperties":false,"description":"How this receipt and its owner are identified."},"order":{"type":"object","properties":{"type":{"type":"string"},"class":{"type":"string","description":"The goods-in order class the receipt was processed under."},"priority":{"type":"string"},"purchaseOrder":{"type":"string","description":"Your purchase order reference — matches what you submitted."},"supplierRef":{"type":"string","description":"The supplier reference the arrival was booked under."},"prime":{"type":"string"},"grnNumber":{"type":"string","description":"Goods received note number."},"manifestNumber":{"type":"string"},"billOfLading":{"type":"string"},"masterBillOfLading":{"type":"string"},"pocNumber":{"type":"string"}},"required":["purchaseOrder","supplierRef"],"additionalProperties":false,"description":"The purchase order this receipt confirms."},"supplier":{"type":"object","properties":{"id":{"type":"string","description":"Supplier code."},"bizSupplierId":{"type":"string"},"group":{"type":"string"},"name":{"type":"string","description":"Supplier name."},"order":{"type":"string"}},"additionalProperties":false,"description":"Who delivered the stock."},"location":{"type":"object","properties":{"site":{"type":"string","description":"Receiving site code."},"warehouse":{"type":"string","description":"Warehouse code within the site."},"lane":{"type":"string","description":"Receiving lane the delivery arrived through."},"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"}},"required":["warehouse"],"additionalProperties":false,"description":"Where the stock was received."},"stock":{"type":"object","properties":{"status":{"type":"string"},"skuId":{"type":"string","description":"The SKU received (header level, single-SKU receipts)."},"stockTrackingUnit":{"type":"string","description":"Stock tracking unit (pallet/tote/carton) identifier assigned by the warehouse."},"stockTrackingType":{"type":"string"},"unitOfMeasure":{"type":"string","description":"Unit the quantities are expressed in."},"batchId":{"type":"string","description":"Batch captured at goods-in, for batch-tracked products."},"country":{"type":"string"}},"required":["skuId"],"additionalProperties":false,"description":"Stock attributes captured at receipt."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity on the original order."},"advised":{"type":"number","description":"Quantity the supplier advised was on the delivery."},"received":{"type":"number","description":"Quantity actually received into stock."},"rejected":{"type":"number","description":"Quantity rejected at inspection."},"dueIn":{"type":"number","description":"Quantity still outstanding on the order."},"lines":{"type":"number","description":"Number of lines on the receipt."},"lineQty":{"type":"number"},"stockTrackingUnitQty":{"type":"number"},"boxQty":{"type":"number"}},"required":["ordered","advised","received","rejected","dueIn","lines","lineQty","stockTrackingUnitQty","boxQty"],"additionalProperties":false,"description":"Header-level receipt quantities."},"physical":{"type":"object","properties":{"volume":{"type":"number"},"weight":{"type":"number"},"actualWeight":{"type":"number"},"averageWeight":{"type":"number"},"box":{"type":"string"}},"required":["volume","weight","actualWeight","averageWeight"],"additionalProperties":false,"description":"Measured volume and weights."},"shipping":{"type":"object","properties":{"method":{"type":"string"},"addressId":{"type":"string"},"invoiceAddressId":{"type":"string"},"carrierId":{"type":"string"},"carrierScac":{"type":"string"},"carrierTrackingNumber":{"type":"string","description":"Carrier tracking number for the inbound delivery."},"carrierTrackingNumberUrl":{"type":"string"},"route":{"type":"string"},"loadId":{"type":"string"},"loadSequence":{"type":"number"},"asNumber":{"type":"string"}},"additionalProperties":false,"description":"Inbound carrier details, where captured."},"status":{"type":"object","properties":{"receipt":{"type":"string"},"consignment":{"type":"string"},"stage":{"type":"string","description":"Warehouse processing stage the receipt reached."},"maintenance":{"type":"string"},"variance":{"type":"string","description":"Variance flag where received differs from advised."},"supervisor":{"type":"string"},"reason":{"type":"string"},"returnReason":{"type":"string"},"acceptanceCode":{"type":"string","description":"Inspection acceptance code, where QC applies."}},"required":["receipt"],"additionalProperties":false,"description":"Receipt state and inspection outcomes."},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"},"timeToUnload":{"type":"number"},"timeToInspect":{"type":"number"},"timeToPutaway":{"type":"number"},"timeOther":{"type":"number"},"timeToCollect":{"type":"number"}},"required":["countNew","countCurrent","countActioned","timeToUnload","timeToInspect","timeToPutaway","timeOther"],"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"dates":{"type":"object","properties":{"created":{"type":"string"},"closed":{"type":"string"},"suspended":{"type":"string"},"collected":{"type":"string"},"dueIn":{"type":"string","description":"The expected delivery date from the order."},"arrival":{"type":"string","description":"When the delivery arrived on site."},"receipt":{"type":"string","description":"When the stock was received."},"production":{"type":"string","description":"Production date captured at goods-in, where tracked."},"release":{"type":"string"},"expiry":{"type":"string","description":"Expiry date captured at goods-in, where tracked."}},"required":["closed"],"additionalProperties":false,"description":"Receipt lifecycle dates."},"indicators":{"type":"object","properties":{"asn":{"type":"string"},"paperwork":{"type":"string"},"overdue":{"type":"string"},"ignore":{"type":"string"},"backOrder":{"type":"string"},"attachment":{"type":"string"},"specialCondition":{"type":"string"},"labelPrinted":{"type":"string"},"putaway":{"type":"string"},"pair":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"assignment":{"type":"object","properties":{"type":{"type":"string"},"ref":{"type":"string"},"pairStockTrackingUnit":{"type":"string"},"originStockId":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"lines":{"type":"array","items":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"receiptId":{"type":"string","description":"The receipt this line belongs to."},"line":{"type":"string","description":"Line number within the receipt."},"level":{"type":"string"},"consignmentId":{"type":"string"},"siteId":{"type":"string"},"poLineId":{"type":"number","description":"The purchase order line this receipt line fulfils."},"batchId":{"type":"string","description":"Batch captured for this line, for batch-tracked products."}},"required":["receiptId","poLineId","batchId"],"additionalProperties":false,"description":"Line identification."},"product":{"type":"object","properties":{"skuId":{"type":"string","description":"The SKU received."},"bizSkuId":{"type":"string","description":"Your SKU code for the product."},"supplierSkuId":{"type":"string","description":"The supplier code for the product, where it differs."},"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"type":"string","description":"Unit the line quantities are expressed in."}},"required":["skuId","unitOfMeasure"],"additionalProperties":false,"description":"What was received."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity ordered on this line."},"advised":{"type":"number","description":"Quantity advised for this line."},"received":{"type":"number","description":"Quantity received into stock on this line."},"rejected":{"type":"number","description":"Quantity rejected on this line."},"dueIn":{"type":"number"}},"required":["ordered","received"],"additionalProperties":false,"description":"Line quantities."},"status":{"type":"object","properties":{"stockStatus":{"type":"string","description":"Stock status the line was received under."},"stage":{"type":"string"},"variance":{"type":"string"},"ignore":{"type":"string"},"backOrderIndicator":{"type":"string"},"attachmentIndicator":{"type":"string"},"specialConditionIndicator":{"type":"string"}},"additionalProperties":false,"description":"Line state."},"business":{"type":"object","properties":{"warehouse":{"type":"string"},"bizId":{"type":"string"},"ownerId":{"type":"string"},"lineOwner":{"type":"string"},"lineStockStatus":{"type":"string"}},"additionalProperties":false,"description":"Line-level warehouse placement."},"quality":{"type":"object","properties":{"qa":{"type":"string"},"acceptance":{"type":"string"},"returnReason":{"type":"string"}},"additionalProperties":false,"description":"Line inspection outcomes."},"dates":{"type":"object","properties":{"receipt":{"type":"string","description":"When this line was received."},"production":{"type":"string","description":"Production date captured for this line."},"expiry":{"type":"string","description":"Expiry date captured for this line."}},"required":["production","expiry"],"additionalProperties":false,"description":"Line-level dates."},"values":{"anyOf":[{},{"type":"null"}]}},"required":["identifiers","product","quantities","dates"],"additionalProperties":false},"description":"The received lines."},"addresses":{"type":"array","items":{},"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"values":{"anyOf":[{},{"type":"null"}],"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"consignmentValues":{"anyOf":[{},{"type":"null"}],"description":"Warehouse-internal operational detail — safe to ignore for most integrations."}},"required":["identifiers","order","supplier","location","stock","quantities","physical","status","tasks","dates","lines","addresses"],"additionalProperties":false},"GoodsOutConfirmation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identifiers":{"type":"object","properties":{"shipmentId":{"type":"string","description":"The shipment reference — matches the order you submitted."},"consignmentId":{"type":"string","description":"Warehouse consignment reference grouping the stock involved."},"bizId":{"type":"string"},"businessId":{"type":"string","description":"Your Fuse business ID."},"ownerId":{"type":"string","description":"Stock owner the shipment was despatched against."},"queueId":{"type":"string","description":"Internal reference of the warehouse outbound-queue entry this confirmation was built from — useful when raising a support query."}},"required":["shipmentId","consignmentId","bizId","businessId","ownerId","queueId"],"additionalProperties":false,"description":"How this despatch and its owner are identified."},"order":{"type":"object","properties":{"type":{"type":"string"},"class":{"type":"string","description":"The outbound order class the shipment was processed under."},"priorityAllocation":{"type":"string"},"priorityDespatch":{"type":"string"},"salesOrder":{"type":"string","description":"Your sales order number."},"customerOrder":{"type":"string","description":"The end customer own order number."},"customerRef":{"type":"string","description":"The customer-facing order reference from the original order."},"prime":{"type":"string"},"grnNumber":{"type":"string"},"manifestNumber":{"type":"string"},"billOfLading":{"type":"string"},"masterBillOfLading":{"type":"string"},"invoiceNumber":{"type":"string","description":"Invoice number, where invoicing applies."},"pod":{"type":"string","description":"Proof-of-delivery reference, where captured."}},"required":["type","class","priorityAllocation","priorityDespatch","prime"],"additionalProperties":false,"description":"The sales order this despatch confirms."},"customer":{"type":"object","properties":{"id":{"type":"string","description":"The retail/customer account."},"bizCustomerId":{"type":"string"},"group":{"type":"string","description":"Customer group, where set."},"name":{"type":"string","description":"Customer name from the order."},"order":{"type":"string"}},"additionalProperties":false,"description":"Who the order shipped to."},"location":{"type":"object","properties":{"site":{"type":"string","description":"Despatching site code."},"warehouse":{"type":"string","description":"Warehouse code within the site."},"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"},"shippingLane":{"type":"string","description":"Shipping lane the order despatched through."},"packStation":{"type":"string","description":"Pack station that packed the order."}},"required":["site","warehouse"],"additionalProperties":false,"description":"Where the shipment despatched from."},"stock":{"type":"object","properties":{"status":{"type":"string"}},"required":["status"],"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity ordered."},"required":{"type":"number","description":"Quantity the warehouse was asked to allocate."},"allocated":{"type":"number","description":"Quantity allocated from stock."},"tasked":{"type":"number"},"shipped":{"type":"number","description":"Quantity actually despatched."},"delivered":{"type":"number","description":"Quantity confirmed delivered, where tracked."},"dueOut":{"type":"number"},"lines":{"type":"number","description":"Number of lines on the shipment."},"lineQty":{"type":"number"},"stockTrackingUnitQty":{"type":"number"}},"required":["ordered","required","allocated","tasked","shipped","delivered","dueOut","lines","lineQty","stockTrackingUnitQty"],"additionalProperties":false,"description":"Header-level despatch quantities."},"physical":{"type":"object","properties":{"volume":{"type":"number"},"actualWeight":{"type":"number"},"catchWeight":{"type":"number"}},"required":["volume","actualWeight","catchWeight"],"additionalProperties":false,"description":"Measured volume and weights of the despatch."},"shipping":{"type":"object","properties":{"method":{"type":"string","description":"Shipment method the order went out under."},"addressId":{"type":"string"},"invoiceAddressId":{"type":"string"},"carrierId":{"type":"string","description":"Carrier code."},"carrierScac":{"type":"string","description":"Carrier SCAC code."},"carrierTrackingNumber":{"type":"string","description":"Lead carrier tracking number."},"carrierTrackingNumberUrl":{"type":"string","description":"Tracking link for the lead tracking number."},"returnTrackingNumber":{"type":"string","description":"Return-label tracking number, where a return label was produced."},"returnTrackingNumberUrl":{"type":"string"},"route":{"type":"string","description":"Routing code the order despatched under."},"loadId":{"type":"string"},"loadSequence":{"type":"number"}},"additionalProperties":false,"description":"Carrier and tracking for the despatch."},"financials":{"type":"object","properties":{"currency":{"type":"string","description":"Currency of the order values."},"lineValue":{"type":"number","description":"Total order value."},"discount":{"type":"number"},"packing":{"type":"number"},"freight":{"type":"number"},"insurance":{"type":"number"},"charges":{"type":"number"},"allowances":{"type":"number"},"tax":{"type":"number"},"invoiceValue":{"type":"number","description":"Invoiced value, where invoicing applies."}},"required":["currency","lineValue"],"additionalProperties":false,"description":"Order financials as despatched."},"status":{"type":"object","properties":{"shipment":{"type":"string"},"consignment":{"type":"string"},"stage":{"type":"string","description":"Warehouse processing stage the shipment reached."},"maintenance":{"type":"string"},"variance":{"type":"string"},"supervisor":{"type":"string"},"reason":{"type":"string"},"returnReason":{"type":"string"},"acceptanceCode":{"type":"string"},"dateExpiry":{"type":"string"}},"required":["stage","maintenance"],"additionalProperties":false,"description":"Shipment state."},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"},"timeToPick":{"type":"number"},"timeToPack":{"type":"number"},"timeToCheck":{"type":"number"},"timeToLoad":{"type":"number"},"timeToDeliver":{"type":"number"},"timeOther":{"type":"number"}},"required":["countNew","countCurrent","countActioned","timeToPick","timeToPack","timeToCheck","timeToLoad","timeToDeliver","timeOther"],"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"dates":{"type":"object","properties":{"created":{"type":"string"},"closed":{"type":"string"},"suspended":{"type":"string"},"dueOut":{"type":"string","description":"When the order was due to leave."},"shipment":{"type":"string","description":"When the order actually despatched."},"delivery":{"type":"string","description":"Delivery date, where tracked."},"invoice":{"type":"string"}},"required":["created","dueOut"],"additionalProperties":false,"description":"Despatch lifecycle dates."},"indicators":{"type":"object","properties":{"asn":{"type":"string"},"paperwork":{"type":"string"},"overdue":{"type":"string"},"ignore":{"type":"string"},"backOrder":{"type":"string"},"attachment":{"type":"string"},"specialCondition":{"type":"string"},"pair":{"type":"string"},"cutOff":{"type":"string"},"invoice":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"lines":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["standard","kit_component"]},"identifiers":{"type":"object","properties":{"shipmentId":{"type":"string","description":"The shipment this line belongs to."},"line":{"type":"string","description":"Line number within the shipment."},"level":{"type":"string"},"consignmentId":{"type":"string"},"siteId":{"type":"string"},"warehouse":{"type":"string"},"solLineId":{"type":"number"},"batchId":{"type":"string","description":"Batch the line was picked from, for batch-tracked products."}},"required":["shipmentId","line","level","consignmentId","siteId","warehouse","solLineId"],"additionalProperties":false,"description":"Line identification."},"product":{"type":"object","properties":{"skuId":{"type":"string","description":"The SKU despatched."},"bizSkuId":{"type":"string","description":"Your SKU code for the product."},"customerSkuId":{"type":"string"},"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"type":"string","description":"Unit the line quantities are expressed in."}},"required":["skuId","unitOfMeasure"],"additionalProperties":false,"description":"What was despatched."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity ordered on this line."},"required":{"type":"number"},"allocated":{"type":"number"},"tasked":{"type":"number"},"picked":{"type":"number","description":"Quantity picked."},"shipped":{"type":"number","description":"Quantity despatched."},"delivered":{"type":"number","description":"Quantity confirmed delivered, where tracked."},"dueOut":{"type":"number"},"catchWeight":{"type":"number"}},"required":["ordered","required","allocated","tasked","picked","shipped","delivered","dueOut","catchWeight"],"additionalProperties":false,"description":"Line quantities through pick, despatch, and delivery."},"status":{"type":"object","properties":{"stockStatus":{"type":"string"},"stage":{"type":"string"},"variance":{"type":"string"},"ignore":{"type":"string"},"backOrderIndicator":{"type":"string"},"attachmentIndicator":{"type":"string"},"specialConditionIndicator":{"type":"string"},"returnReason":{"type":"string"},"qc":{"type":"string"},"shortage":{"type":"string"},"dateExpiry":{"type":"string"}},"required":["stockStatus","stage"],"additionalProperties":false,"description":"Line state."},"business":{"type":"object","properties":{"warehouse":{"type":"string"},"bizId":{"type":"string"},"ownerId":{"type":"string"},"lineOwner":{"type":"string"},"lineStockStatus":{"type":"string"}},"required":["warehouse","bizId","ownerId"],"additionalProperties":false,"description":"Line-level warehouse placement."},"dates":{"type":"object","properties":{"shipment":{"type":"string"}},"required":["shipment"],"additionalProperties":false,"description":"Line-level dates."},"price":{"type":"object","properties":{"unitPrice":{"type":"number","description":"Unit price."},"discount":{"type":"number"},"taxRate":{"type":"number"}},"required":["unitPrice"],"additionalProperties":false,"description":"Line pricing from the original order."},"values":{"anyOf":[{},{"type":"null"}]},"extensions":{"type":"object","properties":{"shopify":{"type":"object","properties":{"fulfillmentId":{"type":"string","description":"The Shopify fulfilment this line was despatched under."}},"required":["fulfillmentId"],"additionalProperties":false,"description":"Shopify-specific line detail, for orders that originated in Shopify."}},"additionalProperties":false,"description":"Channel-specific extras."}},"required":["role","identifiers","product","quantities","status","business","dates","price"],"additionalProperties":false},"description":"The despatched lines."},"addresses":{"type":"array","items":{},"description":"Delivery address records as despatched."},"contacts":{"type":"array","items":{},"description":"Delivery contact records as despatched."},"despatches":{"type":"array","items":{},"description":"Carrier despatch records — one per despatch unit, each with its own tracking."},"values":{"anyOf":[{},{"type":"null"}],"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"consignments":{"type":"array","items":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"consignmentId":{"type":"string"},"stockId":{"type":"string"},"bizId":{"type":"string"},"ownerId":{"type":"string"},"skuId":{"type":"string"}},"required":["consignmentId","stockId","bizId","ownerId","skuId"],"additionalProperties":false,"description":"Package/stock identification."},"stock":{"type":"object","properties":{"stockTrackingUnit":{"type":"string","description":"Stock tracking unit (pallet/tote/carton) identifier assigned by the warehouse."},"stockTrackingType":{"type":"string"},"unitOfMeasure":{"type":"string"},"batchId":{"type":"string","description":"Batch of the packaged units."},"country":{"type":"string"}},"required":["stockTrackingUnit","stockTrackingType","unitOfMeasure"],"additionalProperties":false,"description":"Stock attributes of the packaged units."},"quantities":{"type":"object","properties":{"picked":{"type":"number"},"productQuantity":{"type":"number"},"boxQuantity":{"type":"number"}},"required":["picked","productQuantity","boxQuantity"],"additionalProperties":false,"description":"Quantities in this package."},"physical":{"type":"object","properties":{"weight":{"type":"number"},"actualWeight":{"type":"number"},"averageWeight":{"type":"number"},"box":{"type":"string"},"dimensions":{"type":"object","properties":{"depth":{"type":"number"},"height":{"type":"number"},"width":{"type":"number"}},"additionalProperties":false}},"required":["weight","actualWeight","averageWeight","dimensions"],"additionalProperties":false,"description":"Package weight and dimensions."},"indicators":{"type":"object","properties":{"labelPrinted":{"type":"string"},"putaway":{"type":"string"},"pair":{"type":"string"}},"required":["labelPrinted","putaway"],"additionalProperties":false},"assignment":{"type":"object","properties":{"type":{"type":"string"},"ref":{"type":"string"},"pairStockTrackingUnit":{"type":"string"},"originStockId":{"type":"string"}},"additionalProperties":false}},"required":["identifiers","stock","quantities","physical","indicators","assignment"],"additionalProperties":false},"description":"Per-package stock detail — which stock tracking units, batches, and quantities went in each."}},"required":["identifiers","order","customer","location","stock","quantities","physical","shipping","financials","status","tasks","dates","indicators","lines","addresses","contacts","despatches","consignments"],"additionalProperties":false},"ReturnGoodsAuthorization":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identifiers":{"type":"object","properties":{"id":{"type":"string","description":"Your unique reference for this return authorisation."},"queueId":{"type":"string"},"businessId":{"type":"string","description":"Your Fuse business ID. Must match the businessId you authenticate with."},"businessRgaNumber":{"type":"string","description":"Lead return reference the warehouse books the arrival against (limited to roughly 20 characters downstream)."},"customerId":{"type":"string","description":"The returning party — a supplier code registered for your business (for some businesses this is your own business ID, for others a distinct code; confirm at onboarding)."},"businessCustomerId":{"type":"string"},"originalPurchaseOrder":{"type":"string","description":"The original order this return relates to, where known."},"prime":{"type":"string"},"consignmentId":{"type":"string"},"grnNumber":{"type":"string"},"manifestNumber":{"type":"string"},"poc":{"type":"string"},"shippingAddressId":{"type":"string"},"invoiceAddressId":{"type":"string"}},"required":["id","businessId","customerId"],"additionalProperties":false,"description":"How this return is identified."},"order":{"type":"object","properties":{"status":{"type":"string"},"type":{"type":"string"},"class":{"type":"string","description":"The return discriminator — customer return vs wholesale return code from your onboarding configuration. This, not order.type, marks the receipt as a return."},"stage":{"type":"string"},"priority":{"type":"string"},"maintenanceIndicator":{"type":"string"}},"additionalProperties":false,"description":"Return classification."},"customer":{"type":"object","properties":{"group":{"type":"string"},"name":{"type":"string"},"reference":{"type":"string","description":"The customer's own returns (RMA) reference."}},"additionalProperties":false,"description":"The end customer returning the goods."},"location":{"type":"object","properties":{"site":{"type":"string","description":"Receiving site code."},"warehouse":{"type":"string","description":"Warehouse code within the site."},"ownerId":{"type":"string","description":"Stock owner the return books against."},"stockStatus":{"type":"string"},"region":{"type":"string"},"receiptLane":{"type":"string","description":"Returns lane, where your site uses lane routing."}},"additionalProperties":false,"description":"Where the return is arriving."},"shipping":{"type":"object","properties":{"method":{"type":"string"},"carrier":{"type":"object","properties":{"id":{"type":"string"},"trackingNumber":{"type":"string"}},"additionalProperties":false},"route":{"type":"string"},"loadId":{"type":"string"},"loadSequence":{"type":"number"}},"additionalProperties":false,"description":"Inbound carrier details for the return, where captured."},"quality":{"type":"object","properties":{"qualityAssurance":{"type":"string"},"acceptanceCode":{"type":"string","description":"Inspection acceptance code, where QC applies."},"variance":{"type":"string"},"returnReason":{"type":"string","description":"Numeric return-reason lookup code for your account — not a descriptive string. Required at header and line level."}},"additionalProperties":false,"description":"Return reasons and inspection."},"quantities":{"type":"object","properties":{"totalLines":{"type":"number"},"totalQuantity":{"type":"number"},"storeUnitsQuantity":{"type":"number"},"volume":{"type":"number"},"weight":{"type":"number"},"actualWeight":{"type":"number"}},"additionalProperties":false,"description":"Header-level return totals."},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"}},"additionalProperties":false},"times":{"type":"object","properties":{"toUnload":{"type":"number"},"toInspect":{"type":"number"},"toPutaway":{"type":"number"},"other":{"type":"number"},"toCollect":{"type":"number"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"personnel":{"type":"object","properties":{"supervisor":{"type":"string"},"reason":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"dates":{"type":"object","properties":{"created":{},"suspended":{},"closed":{},"collected":{},"dueIn":{"description":"Expected arrival date."},"arrival":{"description":"When the return arrived on site."},"receipt":{"description":"Receipt date — required at header and line level."}},"additionalProperties":false,"description":"Return dates."},"indicators":{"type":"object","properties":{"asn":{"type":"string"},"paperwork":{"type":"string"},"overdue":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"metadata":{"type":"object","properties":{"notes":{"type":"string","description":"Free-text note for the returns team (e.g. reported damage to inspect for)."}},"additionalProperties":false,"description":"Return-level notes. The return carries a single note field — there is no customisations array."},"lines":{"type":"array","items":{"type":"object","properties":{"identifiers":{"type":"object","properties":{"returnAuthorizationId":{"type":"string","description":"The return this line belongs to — repeat the header id."},"lineNumber":{"type":"string","description":"Line number within the return, as a string."},"level":{"type":"string"},"id":{"type":"number"},"consignmentId":{"type":"string"},"businessId":{"type":"string"},"skuId":{"type":"string","description":"The SKU being returned."},"businessSkuId":{"type":"string","description":"Your SKU code for the product — usually the same value as skuId."},"batchId":{"type":"string"}},"required":["returnAuthorizationId","lineNumber","skuId","businessSkuId"],"additionalProperties":false,"description":"Line identification."},"product":{"type":"object","properties":{"unitOfMeasure":{"type":"string","description":"A real warehouse unit code — \"EA\" is the common each/unit code; \"EACH\" is rejected."},"upcDescription":{"type":"string"}},"additionalProperties":false,"description":"Line-level product details."},"location":{"type":"object","properties":{"site":{"type":"string"},"warehouse":{"type":"string"},"owner":{"type":"string","description":"Stock owner for this line — required whenever a line location block is present."},"stockStatus":{"type":"string","description":"Receive the returned units under a non-default stock status code (e.g. quarantine for inspection before resale)."}},"required":["owner"],"additionalProperties":false,"description":"Line-level placement overrides. owner is required whenever this block is present."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity authorised for return."},"advised":{"type":"number","description":"Quantity advised as actually on its way back."},"received":{"type":"number","description":"Quantity actually received back into stock on this line."},"rejected":{"type":"number","description":"Quantity rejected at inspection on this line."},"dueIn":{"type":"number"}},"required":["advised"],"additionalProperties":false,"description":"Return quantities. Send both ordered and advised — ordered does not default from advised."},"quality":{"type":"object","properties":{"returnReason":{"type":"string","description":"Numeric return-reason lookup code — required alongside the header code."},"qualityAssurance":{"type":"string"},"acceptance":{"type":"string"},"variance":{"type":"string"}},"additionalProperties":false,"description":"Line-level return reason."},"dates":{"type":"object","properties":{"receipt":{"description":"Line receipt date — required alongside the header date."},"expiry":{}},"additionalProperties":false,"description":"Line dates."},"metadata":{"type":"object","properties":{"owner":{"type":"string"},"stockStatus":{"type":"string"},"hasAttachment":{"type":"string"},"hasSpecialConditions":{"type":"string"},"stage":{"type":"string"},"backOrderIndicator":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."}},"required":["identifiers","quantities"],"additionalProperties":false},"description":"The returned lines."},"returnAddresses":{"type":"array","items":{"type":"object","properties":{"table":{"type":"string"},"returnAuthorizationId":{"type":"string"},"addressId":{"type":"string"},"address":{"type":"object","properties":{"name":{"type":"string"},"line1":{"type":"string"},"line2":{"type":"string"},"line3":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postcode":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"required":["country"],"additionalProperties":false},"coordinates":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"additionalProperties":false}},"required":["table"],"additionalProperties":false},"description":"Return address records, where supplied on the authorisation."}},"required":["identifiers","lines"],"additionalProperties":false},"StockAdjustment":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identifiers":{"type":"object","properties":{"site":{"type":"string","description":"Site the adjustment happened at."},"id":{"type":"string","description":"The warehouse adjustment job reference."},"lineId":{"type":"string","description":"Line within the adjustment job."},"businessId":{"type":"string","description":"Your Fuse business ID."},"reference":{"type":"string","description":"Free-text reference recorded with the adjustment."},"jobId":{"type":"string"},"sequence":{"type":"number"},"jobSequence":{"type":"number"},"queueId":{"type":"string","description":"Internal reference of the warehouse outbound-queue entry this confirmation was built from — useful when raising a support query."}},"required":["site","id","lineId","businessId","sequence","jobSequence","queueId"],"additionalProperties":false,"description":"How this adjustment is identified."},"adjustment":{"type":"object","properties":{"type":{"type":"string","enum":["increase","decrease","set"],"description":"Adjustment type code."},"class":{"type":"string"},"status":{"type":"string","description":"Adjustment status."},"stage":{"type":"string","description":"Warehouse processing stage."},"reasonId":{"type":"string","description":"Reason code recorded for the adjustment."}},"required":["type","class","status","stage"],"additionalProperties":false,"description":"What kind of adjustment this is."},"product":{"type":"object","properties":{"skuId":{"type":"string","description":"The SKU adjusted."},"unit":{"type":"string","description":"Unit the quantities are expressed in."},"boxQty":{"type":"number"}},"required":["skuId","unit","boxQty"],"additionalProperties":false,"description":"The product adjusted."},"quantities":{"type":"object","properties":{"tasked":{"type":"number","description":"Quantity the adjustment was raised for."},"actioned":{"type":"number","description":"Quantity actually adjusted."}},"required":["tasked","actioned"],"additionalProperties":false,"description":"Adjustment quantities."},"from":{"type":"object","properties":{"state":{"type":"string"},"site":{"type":"string"},"facility":{"type":"string"},"zone":{"type":"string"},"bay":{"type":"string"},"section":{"type":"string"},"slot":{"type":"string"},"stockTrackingUnit":{"type":"string"},"stockTrackingType":{"type":"string"},"box":{"type":"string"},"owner":{"type":"string"},"status":{"type":"string"},"assignType":{"type":"string"},"assignRef":{"type":"string"},"loadId":{"type":"string"},"stockId":{"type":"string"}},"additionalProperties":false,"description":"Where the stock moved from — location, stock tracking unit, owner, and status before the adjustment."},"to":{"type":"object","properties":{"state":{"type":"string"},"site":{"type":"string"},"facility":{"type":"string"},"zone":{"type":"string"},"bay":{"type":"string"},"section":{"type":"string"},"slot":{"type":"string"},"stockTrackingUnit":{"type":"string"},"stockTrackingType":{"type":"string"},"box":{"type":"string"},"owner":{"type":"string"},"status":{"type":"string"},"assignType":{"type":"string"},"assignRef":{"type":"string"},"loadId":{"type":"string"},"stockId":{"type":"string"}},"additionalProperties":false,"description":"Where the stock moved to — location, stock tracking unit, owner, and status after the adjustment."},"personnel":{"type":"object","properties":{"operator":{"type":"string","description":"Warehouse operator who actioned it."},"supervisor":{"type":"string"}},"required":["operator"],"additionalProperties":false,"description":"Who performed and supervised the adjustment."},"dates":{"type":"object","properties":{"created":{"description":"When the adjustment was raised."},"closed":{"description":"When the adjustment completed."}},"required":["created","closed"],"additionalProperties":false,"description":"Adjustment dates."},"values":{"anyOf":[{},{"type":"null"}],"description":"Warehouse-internal operational detail — safe to ignore for most integrations."}},"required":["identifiers","adjustment","product","quantities","from","to","personnel","dates"],"additionalProperties":false},"PickConfirmation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identifiers":{"type":"object","properties":{"shipmentId":{"type":"string","description":"The shipment reference — matches the order you submitted."},"consignmentId":{"type":"string"},"businessId":{"type":"string","description":"Your Fuse business ID."},"customerId":{"type":"string"},"businessCustomerId":{"type":"string"},"queueId":{"type":"string","description":"Internal reference of the warehouse outbound-queue entry this confirmation was built from — useful when raising a support query."},"salesOrder":{"type":"string","description":"Your sales order number."},"customerRef":{"type":"string","description":"The customer-facing order reference."}},"required":["shipmentId","businessId"],"additionalProperties":false,"description":"How the order being picked is identified."},"order":{"type":"object","properties":{"type":{"type":"string"},"class":{"type":"string"},"priority":{"type":"string"},"reqType":{"type":"string"},"brand":{"type":"string"},"retailId":{"type":"string","description":"The retail/customer account."},"stockPool":{"type":"string"},"customerOrder":{"type":"string"},"ordRef1":{"type":"string","description":"Primary order reference from the original order."},"ordRef2":{"type":"string","description":"Secondary order reference."},"ordRef3":{"type":"string","description":"Tertiary order reference."}},"additionalProperties":false,"description":"Order references and classification as picked."},"customer":{"type":"object","properties":{"group":{"type":"string"},"name":{"type":"string"},"reference":{"type":"string"}},"additionalProperties":false,"description":"Who the order is for."},"location":{"type":"object","properties":{"site":{"type":"string"},"warehouse":{"type":"string"},"ownerId":{"type":"string"},"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"}},"additionalProperties":false,"description":"Where the order was picked."},"quantities":{"type":"object","properties":{"totalLines":{"type":"number","description":"Number of lines on the order."},"ordered":{"type":"number","description":"Quantity ordered."},"allocated":{"type":"number","description":"Quantity allocated from stock."},"picked":{"type":"number","description":"Quantity picked."},"shortage":{"type":"number","description":"Quantity short — allocated but not pickable."}},"additionalProperties":false,"description":"Header-level pick quantities."},"status":{"type":"object","properties":{"stage":{"type":"string","description":"Warehouse processing stage — this confirmation fires when picking completes."},"variance":{"type":"string"},"reason":{"type":"string"},"supervisor":{"type":"string"},"shortageCode":{"type":"string","description":"Shortage reason code, where a shortage occurred."}},"additionalProperties":false,"description":"Pick state."},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"},"timeToPick":{"type":"number"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"dates":{"type":"object","properties":{"created":{},"dueOut":{"description":"When the order is due to leave."},"expectedDelivery":{}},"additionalProperties":false,"description":"Order dates as at picking."},"indicators":{"type":"object","properties":{"overdue":{"type":"string"},"paperwork":{"type":"string"},"backOrder":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"metadata":{"type":"object","properties":{"notes":{"type":"string"}},"additionalProperties":false,"description":"Order notes carried through from the original order."},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"Name/value attachments carried through from the original order."},"lines":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["standard","kit_component"]},"shipmentId":{"type":"string","description":"The shipment this line belongs to."},"line":{"type":"string","description":"Line number within the order."},"level":{"type":"string"},"skuId":{"type":"string","description":"The SKU picked."},"businessSKU":{"type":"string","description":"Your SKU code for the product."},"customerSKU":{"type":"string"},"soLineId":{"type":"number"},"product":{"type":"object","properties":{"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"type":"string"},"eachQuantity":{"type":"number"}},"additionalProperties":false,"description":"Line-level product details."},"ownership":{"type":"object","properties":{"lineOwner":{"type":"string"},"lineStockStatus":{"type":"string"},"ownerId":{"type":"string"},"stockStatus":{"type":"string"}},"additionalProperties":false,"description":"Line-level owner and stock status."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity ordered on this line."},"required":{"type":"number"},"allocated":{"type":"number"},"picked":{"type":"number","description":"Quantity picked on this line."},"shortage":{"type":"number","description":"Quantity short on this line."}},"additionalProperties":false,"description":"Line pick quantities."},"quality":{"type":"object","properties":{"shortage":{"type":"string"},"variance":{"type":"string"},"returnReason":{"type":"string"},"qualityControl":{"type":"string"}},"additionalProperties":false,"description":"Line-level shortage and QC detail."},"location":{"type":"object","properties":{"consignmentId":{"type":"string"},"siteId":{"type":"string"},"warehouse":{"type":"string"},"batchId":{"type":"string","description":"Batch the line was picked from, for batch-tracked products."}},"additionalProperties":false,"description":"Where the line was picked from."},"business":{"type":"object","properties":{"businessId":{"type":"string"}},"additionalProperties":false,"description":"Line-level business attribution."},"dates":{"type":"object","properties":{"expiry":{"description":"Expiry of the picked stock, where tracked."}},"additionalProperties":false,"description":"Line-level dates."},"timing":{"type":"object","properties":{"datePicked":{"description":"Pick timestamp for this line."},"stage":{"type":"string"}},"additionalProperties":false,"description":"When the line was picked."},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"Name/value attachments carried through from the original order."}},"required":["role","shipmentId","line","skuId","quantities"],"additionalProperties":false},"description":"The picked lines."}},"required":["identifiers","lines"],"additionalProperties":false},"PackConfirmation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identifiers":{"type":"object","properties":{"shipmentId":{"type":"string","description":"The shipment reference — matches the order you submitted."},"consignmentId":{"type":"string"},"businessId":{"type":"string","description":"Your Fuse business ID."},"customerId":{"type":"string"},"businessCustomerId":{"type":"string"},"queueId":{"type":"string","description":"Internal reference of the warehouse outbound-queue entry this confirmation was built from — useful when raising a support query."},"salesOrder":{"type":"string","description":"Your sales order number."},"customerRef":{"type":"string","description":"The customer-facing order reference."}},"required":["shipmentId","businessId"],"additionalProperties":false,"description":"How the order being packed is identified."},"order":{"type":"object","properties":{"type":{"type":"string"},"class":{"type":"string"},"priority":{"type":"string"},"reqType":{"type":"string"},"brand":{"type":"string"},"retailId":{"type":"string"},"stockPool":{"type":"string"},"customerOrder":{"type":"string"},"ordRef1":{"type":"string","description":"Primary order reference from the original order."},"ordRef2":{"type":"string"},"ordRef3":{"type":"string"}},"additionalProperties":false,"description":"Order references and classification as packed."},"customer":{"type":"object","properties":{"group":{"type":"string"},"name":{"type":"string"},"reference":{"type":"string"}},"additionalProperties":false,"description":"Who the order is for."},"location":{"type":"object","properties":{"site":{"type":"string"},"warehouse":{"type":"string"},"ownerId":{"type":"string"},"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"},"packStation":{"type":"string","description":"Pack station that packed the order."},"shippingLane":{"type":"string","description":"Shipping lane the order will despatch through."}},"additionalProperties":false,"description":"Where the order was packed."},"quantities":{"type":"object","properties":{"totalLines":{"type":"number"},"totalPackages":{"type":"number","description":"Number of packages the order was packed into."},"ordered":{"type":"number"},"allocated":{"type":"number"},"picked":{"type":"number"},"packed":{"type":"number","description":"Quantity packed."},"shortage":{"type":"number","description":"Quantity short of the ordered amount."}},"additionalProperties":false,"description":"Header-level pack quantities."},"physical":{"type":"object","properties":{"totalWeight":{"type":"number"},"volume":{"type":"number"}},"additionalProperties":false,"description":"Total packed weight and volume."},"packages":{"type":"array","items":{"type":"object","properties":{"sscc":{"type":"string","description":"Serial Shipping Container Code (GS1 licence-plate barcode) for the parcel."},"packagingCode":{"type":"string","description":"Packaging type used."},"quantity":{"type":"number","description":"Units in the parcel."},"weight":{"type":"number","description":"Parcel weight."},"dimensions":{"type":"object","properties":{"depth":{"type":"number"},"height":{"type":"number"},"width":{"type":"number"}},"additionalProperties":false,"description":"Parcel dimensions."}},"additionalProperties":false},"description":"The packages produced — one entry per parcel."},"shipping":{"type":"object","properties":{"method":{"type":"string"},"service":{"type":"string"},"route":{"type":"string"},"carrier":{"type":"object","properties":{"id":{"type":"string"},"scac":{"type":"string"},"trackingNumber":{"type":"string","description":"Carrier tracking number, where assigned at packing."},"trackingNumberUrl":{"type":"string"}},"additionalProperties":false,"description":"Carrier details."}},"additionalProperties":false,"description":"Carrier selection and tracking, where already assigned at packing."},"status":{"type":"object","properties":{"stage":{"type":"string","description":"Warehouse processing stage — this confirmation fires when packing completes."},"variance":{"type":"string"},"reason":{"type":"string"},"supervisor":{"type":"string"}},"additionalProperties":false,"description":"Pack state."},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"},"timeToPick":{"type":"number"},"timeToPack":{"type":"number"},"timeToCheck":{"type":"number"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"dates":{"type":"object","properties":{"created":{},"dueOut":{},"expectedDelivery":{},"packed":{"description":"When packing completed."}},"additionalProperties":false,"description":"Order dates as at packing."},"indicators":{"type":"object","properties":{"overdue":{"type":"string"},"paperwork":{"type":"string"},"backOrder":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"metadata":{"type":"object","properties":{"notes":{"type":"string"}},"additionalProperties":false,"description":"Order notes carried through from the original order."},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"Name/value attachments carried through from the original order."},"lines":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["standard","kit_component"]},"shipmentId":{"type":"string","description":"The shipment this line belongs to."},"line":{"type":"string","description":"Line number within the order."},"level":{"type":"string"},"skuId":{"type":"string","description":"The SKU packed."},"businessSKU":{"type":"string"},"customerSKU":{"type":"string"},"soLineId":{"type":"number"},"sscc":{"type":"string","description":"The parcel (SSCC) this line was packed into."},"product":{"type":"object","properties":{"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"type":"string"},"eachQuantity":{"type":"number"}},"additionalProperties":false,"description":"Line-level product details."},"ownership":{"type":"object","properties":{"lineOwner":{"type":"string"},"lineStockStatus":{"type":"string"},"ownerId":{"type":"string"},"stockStatus":{"type":"string"}},"additionalProperties":false,"description":"Line-level owner and stock status."},"quantities":{"type":"object","properties":{"ordered":{"type":"number"},"required":{"type":"number"},"allocated":{"type":"number"},"picked":{"type":"number"},"packed":{"type":"number","description":"Quantity packed on this line."},"shortage":{"type":"number"}},"additionalProperties":false,"description":"Line pack quantities."},"physical":{"type":"object","properties":{"weight":{"type":"number"},"catchWeight":{"type":"number"}},"additionalProperties":false,"description":"Line weight detail."},"quality":{"type":"object","properties":{"shortage":{"type":"string"},"variance":{"type":"string"},"returnReason":{"type":"string"},"qualityControl":{"type":"string"}},"additionalProperties":false,"description":"Line-level shortage and QC detail."},"location":{"type":"object","properties":{"consignmentId":{"type":"string"},"siteId":{"type":"string"},"warehouse":{"type":"string"},"batchId":{"type":"string","description":"Batch of the packed stock, for batch-tracked products."}},"additionalProperties":false,"description":"Where the line was picked from."},"business":{"type":"object","properties":{"businessId":{"type":"string"}},"additionalProperties":false,"description":"Line-level business attribution."},"dates":{"type":"object","properties":{"expiry":{}},"additionalProperties":false,"description":"Line-level dates."},"timing":{"type":"object","properties":{"datePicked":{},"datePacked":{"description":"Pack timestamp for this line."},"stage":{"type":"string"}},"additionalProperties":false,"description":"When the line was picked and packed."},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"Name/value attachments carried through from the original order."}},"required":["role","shipmentId","line","skuId","quantities"],"additionalProperties":false},"description":"The packed lines."}},"required":["identifiers","lines"],"additionalProperties":false},"WorkOrderConfirmation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identifiers":{"type":"object","properties":{"id":{"type":"string","description":"The confirmation record reference."},"businessId":{"type":"string","description":"Your Fuse business ID."},"workOrderId":{"type":"string","description":"Your work order reference — matches what you submitted."},"businessWorkOrderId":{"type":"string"},"customerId":{"type":"string","description":"The customer account the work was for."},"businessCustomerId":{"type":"string"},"shipmentId":{"type":"string"},"consignmentId":{"type":"string"},"queueId":{"type":"string","description":"Internal reference of the warehouse outbound-queue entry this confirmation was built from — useful when raising a support query."},"finishedGoodReceiptId":{"type":"string","description":"The finished good receipt produced by this work order, where stock has landed."}},"required":["id","businessId","workOrderId"],"additionalProperties":false,"description":"How the completed work order is identified."},"workOrder":{"type":"object","properties":{"type":{"type":"string","enum":["kitting","rework","quality_check","special_handling","disposition"],"description":"The work type — kitting, rework, quality_check, special_handling, or disposition."},"class":{"type":"string"},"status":{"type":"string"},"stage":{"type":"string","description":"Warehouse processing stage the work reached."},"customerRef":{"type":"string","description":"The customer-facing work order reference."},"instructions":{"type":"string"},"notes":{"type":"string"},"supervisor":{"type":"string"},"generalReason":{"type":"string"},"returnReason":{"type":"string"},"maintenanceIndicator":{"type":"string"}},"additionalProperties":false,"description":"The work performed."},"customer":{"type":"object","properties":{"group":{"type":"string"},"name":{"type":"string"},"reference":{"type":"string"}},"additionalProperties":false,"description":"Who the work was for."},"location":{"type":"object","properties":{"site":{"type":"string"},"warehouse":{"type":"string"},"ownerId":{"type":"string"},"stockStatus":{"type":"string"},"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"}},"additionalProperties":false,"description":"Where the work happened."},"qualityControl":{"type":"object","properties":{"qualityControl":{"type":"string"},"shortageCode":{"type":"string"},"quantityVariance":{"type":"string"},"cutOffInd":{"type":"string"}},"additionalProperties":false,"description":"QC outcomes for the work."},"quantities":{"type":"object","properties":{"totalLines":{"type":"number"},"totalComponents":{"type":"number","description":"Number of component lines."},"totalFinishedGoods":{"type":"number","description":"Number of finished-good lines."},"totalConsumed":{"type":"number","description":"Total component quantity consumed."},"totalProduced":{"type":"number","description":"Total finished-good quantity produced."},"volume":{"type":"number"},"weight":{"type":"number"},"actualWeight":{"type":"number"}},"additionalProperties":false,"description":"Totals across the whole job."},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"timing":{"type":"object","properties":{"timeToPick":{"type":"number"},"timeToPack":{"type":"number"},"timeToCheck":{"type":"number"},"timeToLoad":{"type":"number"},"timeOther":{"type":"number"},"timeToDeliver":{"type":"number"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"dates":{"type":"object","properties":{"created":{},"started":{"description":"When the work started."},"completed":{"description":"When the work completed."},"closed":{},"suspended":{}},"additionalProperties":false,"description":"Job lifecycle dates."},"indicators":{"type":"object","properties":{"overdue":{"type":"string"},"paperwork":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"metadata":{"type":"object","properties":{"notes":{"type":"string"}},"additionalProperties":false,"description":"Job notes."},"misc":{"type":"object","properties":{"values":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"Name/value attachments carried through from the original order."},"lines":{"type":"array","items":{"type":"object","properties":{"workOrderId":{"type":"string","description":"The work order this line belongs to."},"line":{"type":"string","description":"Line number within the work order."},"level":{"type":"string"},"skuId":{"type":"string","description":"The SKU on this line."},"businessSKU":{"type":"string"},"customerSKU":{"type":"string"},"soLineId":{"type":"number"},"role":{"type":"string","enum":["component","finished_good"],"description":"finished_good for the master SKU produced; component for a stock item consumed."},"product":{"type":"object","properties":{"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"type":"string"},"catchWeight":{"type":"number"}},"additionalProperties":false,"description":"Line-level product details."},"ownership":{"type":"object","properties":{"lineOwner":{"type":"string"},"lineStockStatus":{"type":"string"},"ownerId":{"type":"string"},"stockStatus":{"type":"string"}},"additionalProperties":false,"description":"Line-level owner and stock status."},"quantities":{"type":"object","properties":{"ordered":{"type":"number","description":"Quantity of the finished good ordered."},"required":{"type":"number","description":"Component quantity required for the build."},"allocated":{"type":"number"},"picked":{"type":"number"},"consumed":{"type":"number","description":"Component quantity actually consumed."},"produced":{"type":"number","description":"Finished-good quantity actually produced."},"rejected":{"type":"number","description":"Quantity rejected at QC."}},"additionalProperties":false,"description":"Line quantities — consumed on component lines, produced on finished-good lines."},"quality":{"type":"object","properties":{"returnReason":{"type":"string"},"qualityControl":{"type":"string"},"shortage":{"type":"string"},"quantityVariance":{"type":"string"}},"additionalProperties":false,"description":"Line QC outcomes."},"indicators":{"type":"object","properties":{"backOrderIndicator":{"type":"string"},"attachmentInd":{"type":"string"},"specialConditionInd":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"location":{"type":"object","properties":{"consignmentId":{"type":"string"},"pickGroupId":{"type":"string"},"siteId":{"type":"string"},"warehouse":{"type":"string"}},"additionalProperties":false,"description":"Where the line was worked."},"business":{"type":"object","properties":{"businessId":{"type":"string"}},"additionalProperties":false,"description":"Line-level business attribution."},"timing":{"type":"object","properties":{"datePicked":{},"dateConsumed":{"description":"When the components on this line were consumed."},"dateProduced":{"description":"When the finished goods on this line were produced."},"stage":{"type":"string"}},"additionalProperties":false,"description":"When the line was picked, consumed, or produced."},"misc":{"type":"object","properties":{"lineValues":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"Name/value attachments carried through from the original order."}},"required":["workOrderId","line","skuId","role","quantities"],"additionalProperties":false},"description":"Both sides of the job — the finished goods produced and the components consumed."}},"required":["identifiers","lines"],"additionalProperties":false},"FinishedGoodReceipt":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identifiers":{"type":"object","properties":{"id":{"type":"string","description":"The receipt record reference."},"businessId":{"type":"string","description":"Your Fuse business ID."},"businessReceiptId":{"type":"string"},"workOrderId":{"type":"string","description":"The work order whose finished goods this receipt books into stock."},"businessWorkOrderId":{"type":"string"},"customerId":{"type":"string","description":"The customer account the goods were produced for."},"businessCustomerId":{"type":"string"},"consignmentId":{"type":"string"},"queueId":{"type":"string","description":"Internal reference of the warehouse outbound-queue entry this confirmation was built from — useful when raising a support query."}},"required":["id","businessId"],"additionalProperties":false,"description":"How this receipt and the work order that produced it are identified."},"receipt":{"type":"object","properties":{"type":{"type":"string","description":"Receipt type code."},"class":{"type":"string"},"status":{"type":"string"},"stage":{"type":"string","description":"Warehouse processing stage the receipt reached."},"priority":{"type":"string"},"notes":{"type":"string"},"supervisor":{"type":"string"}},"additionalProperties":false,"description":"The stock booking for the produced goods."},"customer":{"type":"object","properties":{"group":{"type":"string"},"name":{"type":"string"},"reference":{"type":"string"}},"additionalProperties":false,"description":"Who the goods were produced for."},"location":{"type":"object","properties":{"site":{"type":"string"},"warehouse":{"type":"string"},"ownerId":{"type":"string"},"stockStatus":{"type":"string"},"region":{"type":"string"},"distributionCenter":{"type":"string"},"store":{"type":"string"}},"additionalProperties":false,"description":"Where the finished goods were booked into stock."},"quantities":{"type":"object","properties":{"totalLines":{"type":"number"},"totalProduced":{"type":"number","description":"Total finished-good quantity booked into stock."},"totalRejected":{"type":"number","description":"Total quantity rejected at QC."},"volume":{"type":"number"},"weight":{"type":"number"},"actualWeight":{"type":"number"}},"additionalProperties":false,"description":"Totals for the receipt."},"tasks":{"type":"object","properties":{"countNew":{"type":"number"},"countCurrent":{"type":"number"},"countActioned":{"type":"number"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"dates":{"type":"object","properties":{"created":{},"received":{"description":"When the finished goods landed in stock."},"closed":{},"production":{"description":"Production date of the goods, where tracked."},"expiry":{"description":"Expiry date of the goods, where tracked."}},"additionalProperties":false,"description":"Receipt lifecycle dates."},"indicators":{"type":"object","properties":{"overdue":{"type":"string"},"paperwork":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"metadata":{"type":"object","properties":{"notes":{"type":"string"}},"additionalProperties":false,"description":"Receipt notes."},"misc":{"type":"object","properties":{"values":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"Name/value attachments carried through from the original order."},"lines":{"type":"array","items":{"type":"object","properties":{"receiptId":{"type":"string","description":"The receipt this line belongs to."},"line":{"type":"string","description":"Line number within the receipt."},"level":{"type":"string"},"skuId":{"type":"string","description":"The finished-good SKU produced."},"businessSKU":{"type":"string"},"customerSKU":{"type":"string"},"product":{"type":"object","properties":{"upc":{"type":"string"},"upcDescription":{"type":"string"},"category":{"type":"string"},"unitOfMeasure":{"type":"string"},"catchWeight":{"type":"number"}},"additionalProperties":false,"description":"Line-level product details."},"ownership":{"type":"object","properties":{"lineOwner":{"type":"string"},"lineStockStatus":{"type":"string"},"ownerId":{"type":"string"},"stockStatus":{"type":"string"}},"additionalProperties":false,"description":"Line-level owner and stock status."},"quantities":{"type":"object","properties":{"produced":{"type":"number","description":"Quantity produced and booked on this line."},"rejected":{"type":"number","description":"Quantity rejected at QC on this line."}},"required":["produced"],"additionalProperties":false,"description":"Line quantities."},"quality":{"type":"object","properties":{"qualityControl":{"type":"string"},"acceptance":{"type":"string"},"variance":{"type":"string"}},"additionalProperties":false,"description":"Line QC outcomes."},"indicators":{"type":"object","properties":{"backOrderIndicator":{"type":"string"},"attachmentInd":{"type":"string"},"specialConditionInd":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"location":{"type":"object","properties":{"consignmentId":{"type":"string"},"siteId":{"type":"string"},"warehouse":{"type":"string"}},"additionalProperties":false,"description":"Where the line was booked into stock."},"business":{"type":"object","properties":{"businessId":{"type":"string"}},"additionalProperties":false,"description":"Line-level business attribution."},"timing":{"type":"object","properties":{"dateProduced":{"description":"When the goods on this line were produced."},"dateReceipt":{"description":"When the goods on this line were booked into stock."},"stage":{"type":"string"}},"additionalProperties":false,"description":"When the line was produced and received."},"misc":{"type":"object","properties":{"lineValues":{"type":"string"}},"additionalProperties":false,"description":"Warehouse-internal operational detail — safe to ignore for most integrations."},"customisations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"Name/value attachments carried through from the original order."}},"required":["receiptId","line","skuId","quantities"],"additionalProperties":false},"description":"The finished goods booked into stock."}},"required":["identifiers","lines"],"additionalProperties":false}}},"webhooks":{"purchase-order-confirmation":{"post":{"summary":"Goods-in (purchase order) confirmation","parameters":[{"name":"x-webhook-secret-key","in":"header","required":true,"description":"The secret registered against your connector. Compare it before trusting the payload — it is how you know the call came from Fuse.","schema":{"type":"string"}},{"name":"x-correlation-id","in":"header","required":true,"description":"Trace id for the delivery. Log it: quoting it back is the fastest way for ILG support to find the record.","schema":{"type":"string","format":"uuid"}},{"name":"User-Agent","in":"header","required":true,"description":"Always this fixed value.","schema":{"type":"string","const":"Bifrost-API-Gateway/1.0"}},{"name":"Content-Type","in":"header","required":true,"description":"Always JSON.","schema":{"type":"string","const":"application/json"}}],"description":"POSTed to your registered webhook URL when a purchase order confirmation is processed.\n\nThe body is a plain JSON array of records — invariant across all confirmation types. Any 2xx response is treated as acknowledgement; anything else is retried up to three times with exponential backoff (1 s → 2 s → 4 s), then the failure is recorded for redrive. Fuse waits 30 s for your response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GoodsInConfirmation"}}}}},"responses":{"2XX":{"description":"Webhook acknowledged."}}}},"sales-order-confirmation":{"post":{"summary":"Goods-out (sales order) confirmation","parameters":[{"name":"x-webhook-secret-key","in":"header","required":true,"description":"The secret registered against your connector. Compare it before trusting the payload — it is how you know the call came from Fuse.","schema":{"type":"string"}},{"name":"x-correlation-id","in":"header","required":true,"description":"Trace id for the delivery. Log it: quoting it back is the fastest way for ILG support to find the record.","schema":{"type":"string","format":"uuid"}},{"name":"User-Agent","in":"header","required":true,"description":"Always this fixed value.","schema":{"type":"string","const":"Bifrost-API-Gateway/1.0"}},{"name":"Content-Type","in":"header","required":true,"description":"Always JSON.","schema":{"type":"string","const":"application/json"}}],"description":"POSTed to your registered webhook URL when a sales order confirmation is processed.\n\nThe body is a plain JSON array of records — invariant across all confirmation types. Any 2xx response is treated as acknowledgement; anything else is retried up to three times with exponential backoff (1 s → 2 s → 4 s), then the failure is recorded for redrive. Fuse waits 30 s for your response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GoodsOutConfirmation"}}}}},"responses":{"2XX":{"description":"Webhook acknowledged."}}}},"return-goods-confirmation":{"post":{"summary":"Return goods authorisation confirmation","parameters":[{"name":"x-webhook-secret-key","in":"header","required":true,"description":"The secret registered against your connector. Compare it before trusting the payload — it is how you know the call came from Fuse.","schema":{"type":"string"}},{"name":"x-correlation-id","in":"header","required":true,"description":"Trace id for the delivery. Log it: quoting it back is the fastest way for ILG support to find the record.","schema":{"type":"string","format":"uuid"}},{"name":"User-Agent","in":"header","required":true,"description":"Always this fixed value.","schema":{"type":"string","const":"Bifrost-API-Gateway/1.0"}},{"name":"Content-Type","in":"header","required":true,"description":"Always JSON.","schema":{"type":"string","const":"application/json"}}],"description":"POSTed to your registered webhook URL when a return goods authorisation confirmation is processed.\n\nThe body is a plain JSON array of records — invariant across all confirmation types. Any 2xx response is treated as acknowledgement; anything else is retried up to three times with exponential backoff (1 s → 2 s → 4 s), then the failure is recorded for redrive. Fuse waits 30 s for your response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReturnGoodsAuthorization"}}}}},"responses":{"2XX":{"description":"Webhook acknowledged."}}}},"stock-adjustment-confirmation":{"post":{"summary":"Stock adjustment confirmation","parameters":[{"name":"x-webhook-secret-key","in":"header","required":true,"description":"The secret registered against your connector. Compare it before trusting the payload — it is how you know the call came from Fuse.","schema":{"type":"string"}},{"name":"x-correlation-id","in":"header","required":true,"description":"Trace id for the delivery. Log it: quoting it back is the fastest way for ILG support to find the record.","schema":{"type":"string","format":"uuid"}},{"name":"User-Agent","in":"header","required":true,"description":"Always this fixed value.","schema":{"type":"string","const":"Bifrost-API-Gateway/1.0"}},{"name":"Content-Type","in":"header","required":true,"description":"Always JSON.","schema":{"type":"string","const":"application/json"}}],"description":"POSTed to your registered webhook URL when a stock adjustment confirmation is processed.\n\nThe body is a plain JSON array of records — invariant across all confirmation types. Any 2xx response is treated as acknowledgement; anything else is retried up to three times with exponential backoff (1 s → 2 s → 4 s), then the failure is recorded for redrive. Fuse waits 30 s for your response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StockAdjustment"}}}}},"responses":{"2XX":{"description":"Webhook acknowledged."}}}},"pick-confirmation":{"post":{"summary":"Pick confirmation","parameters":[{"name":"x-webhook-secret-key","in":"header","required":true,"description":"The secret registered against your connector. Compare it before trusting the payload — it is how you know the call came from Fuse.","schema":{"type":"string"}},{"name":"x-correlation-id","in":"header","required":true,"description":"Trace id for the delivery. Log it: quoting it back is the fastest way for ILG support to find the record.","schema":{"type":"string","format":"uuid"}},{"name":"User-Agent","in":"header","required":true,"description":"Always this fixed value.","schema":{"type":"string","const":"Bifrost-API-Gateway/1.0"}},{"name":"Content-Type","in":"header","required":true,"description":"Always JSON.","schema":{"type":"string","const":"application/json"}}],"description":"POSTed to your registered webhook URL when a pick confirmation is processed.\n\nThe body is a plain JSON array of records — invariant across all confirmation types. Any 2xx response is treated as acknowledgement; anything else is retried up to three times with exponential backoff (1 s → 2 s → 4 s), then the failure is recorded for redrive. Fuse waits 30 s for your response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PickConfirmation"}}}}},"responses":{"2XX":{"description":"Webhook acknowledged."}}}},"pack-confirmation":{"post":{"summary":"Pack confirmation","parameters":[{"name":"x-webhook-secret-key","in":"header","required":true,"description":"The secret registered against your connector. Compare it before trusting the payload — it is how you know the call came from Fuse.","schema":{"type":"string"}},{"name":"x-correlation-id","in":"header","required":true,"description":"Trace id for the delivery. Log it: quoting it back is the fastest way for ILG support to find the record.","schema":{"type":"string","format":"uuid"}},{"name":"User-Agent","in":"header","required":true,"description":"Always this fixed value.","schema":{"type":"string","const":"Bifrost-API-Gateway/1.0"}},{"name":"Content-Type","in":"header","required":true,"description":"Always JSON.","schema":{"type":"string","const":"application/json"}}],"description":"POSTed to your registered webhook URL when a pack confirmation is processed.\n\nThe body is a plain JSON array of records — invariant across all confirmation types. Any 2xx response is treated as acknowledgement; anything else is retried up to three times with exponential backoff (1 s → 2 s → 4 s), then the failure is recorded for redrive. Fuse waits 30 s for your response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PackConfirmation"}}}}},"responses":{"2XX":{"description":"Webhook acknowledged."}}}},"work-order-confirmation":{"post":{"summary":"Work order confirmation","parameters":[{"name":"x-webhook-secret-key","in":"header","required":true,"description":"The secret registered against your connector. Compare it before trusting the payload — it is how you know the call came from Fuse.","schema":{"type":"string"}},{"name":"x-correlation-id","in":"header","required":true,"description":"Trace id for the delivery. Log it: quoting it back is the fastest way for ILG support to find the record.","schema":{"type":"string","format":"uuid"}},{"name":"User-Agent","in":"header","required":true,"description":"Always this fixed value.","schema":{"type":"string","const":"Bifrost-API-Gateway/1.0"}},{"name":"Content-Type","in":"header","required":true,"description":"Always JSON.","schema":{"type":"string","const":"application/json"}}],"description":"POSTed to your registered webhook URL when a work order confirmation is processed.\n\nThe body is a plain JSON array of records — invariant across all confirmation types. Any 2xx response is treated as acknowledgement; anything else is retried up to three times with exponential backoff (1 s → 2 s → 4 s), then the failure is recorded for redrive. Fuse waits 30 s for your response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkOrderConfirmation"}}}}},"responses":{"2XX":{"description":"Webhook acknowledged."}}}},"finished-good-receipt":{"post":{"summary":"Finished good receipt","parameters":[{"name":"x-webhook-secret-key","in":"header","required":true,"description":"The secret registered against your connector. Compare it before trusting the payload — it is how you know the call came from Fuse.","schema":{"type":"string"}},{"name":"x-correlation-id","in":"header","required":true,"description":"Trace id for the delivery. Log it: quoting it back is the fastest way for ILG support to find the record.","schema":{"type":"string","format":"uuid"}},{"name":"User-Agent","in":"header","required":true,"description":"Always this fixed value.","schema":{"type":"string","const":"Bifrost-API-Gateway/1.0"}},{"name":"Content-Type","in":"header","required":true,"description":"Always JSON.","schema":{"type":"string","const":"application/json"}}],"description":"POSTed to your registered webhook URL when a finished good receipt confirmation is processed.\n\nThe body is a plain JSON array of records — invariant across all confirmation types. Any 2xx response is treated as acknowledgement; anything else is retried up to three times with exponential backoff (1 s → 2 s → 4 s), then the failure is recorded for redrive. Fuse waits 30 s for your response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FinishedGoodReceipt"}}}}},"responses":{"2XX":{"description":"Webhook acknowledged."}}}}}}