ILGFUSE

Submit purchase order records

POST/api/v2/purchase-ordersGoods In in Fuse

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.

Examples

Complete, valid payloads for the scenarios we see most. Pick one to load it into the panel.

Values shown like YOUR_SITE are your own configuration, not literals — substitute the values from your onboarding pack. The sandbox checks shape only, so a payload can pass there and still be rejected by the warehouse.

Mandatory fieldsRequired for every customer, every time. Everything else is optional or covered by your onboarding configuration.
  • Order referenceidentifiers.id
  • Business IDidentifiers.businessId
  • Classorder.class
  • Warehouselocation.warehouse
  • Ownerlocation.ownerId
  • Expected delivery datedates.dueIn
  • SKU IDlines[].product.skuId
  • Order quantitylines[].quantities.ordered
  • Advised quantitylines[].quantities.advised

Request schema

The body is an array of records in this shape. Pick a scenario above to see a complete, valid payload.

  • identifiersobjectHow this inbound order is identified.
    • idstringmandatoryYour unique reference for this purchase order.
    • businessIdstringmandatoryYour Fuse business ID. Must match the businessId you authenticate with.
    • businessOrderNumberstringYour purchasing system's order number, carried as an additional reference.
    • businessSupplierIdstring
    • purchaseOrderstringA further raw PO reference, where you carry more than one.
    • primestring
    • consignmentIdstring
    • asnNumberstring
    • grnNumberstring
    • manifestNumberstring
    • bolstring
    • masterBolstring
    • pocstring
  • orderobjectOrder-level classification.
    • statusstring
    • typestring
    • classstringmandatoryYour business's goods-in order class, from your onboarding configuration. Not interchangeable with the sales-order class — a different code list applies inbound.
    • stagestring
    • prioritystring
    • maintenanceIndicatorstring
  • supplierobjectWho is delivering the stock.
    • idstringYour supplier code.
    • groupstring
    • namestringSupplier name.
    • orderNumberstringThe supplier's own order number.
    • referencestringThe supplier's reference for this delivery — what the warehouse books the arrival against.
  • locationobjectWhere the stock is arriving.
    • sitestringReceiving site code, from your onboarding configuration.
    • warehousestringmandatoryWarehouse code within the site.
    • ownerIdstringmandatoryStock owner the receipt books against.
    • stockStatusstring
    • regionstring
    • distributionCenterstring
    • storestring
    • receiptLanestringReceiving lane, where your site uses lane routing.
  • shippingobject
    • methodstring
    • carrierobject
      • idstring
      • scacstring
      • trackingNumberstring
      • trackingUrlstring
    • routestring
    • loadIdstring
    • loadSequencestring
  • qualityobject
    • qualityAssurancestring
    • acceptancestring
    • variancestring
    • returnReasonstring
    • acceptanceCodestring
    • ignorestring
  • quantitiesobject
    • totalLinesnumber
    • totalQuantitynumber
    • storeUnitsQuantitynumber
    • volumenumber
    • weightnumber
    • actualWeightnumber
  • tasksobject
    • countNewnumber
    • countCurrentnumber
    • countActionednumber
  • timesobject
    • toUnloadnumber
    • toInspectnumber
    • toPutawaynumber
    • othernumber
    • toCollectnumber
  • personnelobject
    • supervisorstring
    • reasonstring
  • datesobjectDelivery dates.
    • receiptstringISO 8601 date or date-time
    • createdstringISO 8601 date or date-time
    • suspendedstringISO 8601 date or date-time
    • closedstringISO 8601 date or date-time
    • collectedstringISO 8601 date or date-time
    • dueInstringmandatoryExpected delivery date. Accepts an ISO 8601 date or date-time.
    • arrivalstringISO 8601 date or date-time
  • indicatorsobject
    • asnstring
    • paperworkstring
    • overduestring
  • metadataobjectOrder-level notes. The purchase order carries a single note field — there is no customisations array inbound.
    • notesstringFree-text note for the receiving team.
  • linesarray of objectThe expected lines.
    • identifiersobjectLine identification.
      • purchaseOrderIdstringThe purchase order this line belongs to — repeat the header id.
      • lineNumberstringLine number within the order, as a string.
      • levelstring
      • idnumber
      • consignmentIdstring
    • productobjectWhat is arriving.
      • skuIdstringmandatoryThe SKU being delivered — must exist as master data first.
      • businessSkuIdstring
      • supplierSkustringThe supplier's own code for the product, where it differs.
      • upcstring
      • upcDescriptionstring
      • categorystring
      • unitOfMeasurestringA real warehouse unit code — "EA" is the common each/unit code; "EACH" is rejected.
    • locationobjectLine-level placement overrides.
      • sitestring
      • warehousestring
      • ownerstring
      • stockStatusstringReceive this line's stock under a non-default stock status code (e.g. quarantine for inspection before release).
      • primarySitestring
      • primaryWarehousestring
    • quantitiesobjectExpected quantities. Send both ordered and advised — ordered does not default from advised.
      • orderednumbermandatoryQuantity originally ordered from the supplier.
      • advisednumbermandatoryQuantity the supplier has advised is on this delivery.
      • receivednumber
      • rejectednumber
      • inOrdernumber
      • dueInnumber
      • spawnnumber
    • qualityobject
      • returnReasonstring
      • qualityAssurancestring
      • acceptancestring
      • variancestring
    • datesobject
      • receiptstringISO 8601 date or date-time
      • primaryReceiptstringISO 8601 date or date-time
    • metadataobject
      • valuesstring
      • shippingAddressstring
      • businessIdstring
      • ownerstring
      • stockStatusstring
      • hasAttachmentstring
      • hasSpecialConditionsstring
      • stagestring
      • backOrderIndicatorstring
      • ignorestring

Headers

Request
  • AuthorizationBasic base64(businessId:apiKey)required

    HTTP Basic. Username is your businessId, password is your API key.

  • Content-Typeapplication/jsonrequired
  • x-correlation-idoptional

    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.

Response
  • Content-Typeapplication/jsonrequired

    On 202.

  • Content-Typeapplication/problem+jsonrequired

    On 400, 401.

Responses

202application/json

Every record passed validation and is queued for the warehouse.

{
  "success": true,
  "recordCount": 1,
  "messageIds": [
    "11384719623456789"
  ],
  "correlationId": "550e8400-e29b-41d4-a716-446655440000"
}
Body fields
  • successbooleanIndicates if the request was successfully accepted
  • recordCountnumberNumber of records accepted for processing
  • messageIdsarray of stringPub/Sub message IDs for tracking
  • correlationIdstringCorrelation ID for request tracing
400application/problem+json

No record was accepted. Every failing record is listed, by its index in the array you sent.

{
  "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"
      ]
    }
  ]
}
Body fields
  • typestringA URI reference that identifies the problem type
  • titlestringA short, human-readable summary of the problem type
  • statusnumberThe HTTP status code generated by the origin server for this occurrence of the problem
  • detailstringA human-readable explanation specific to this occurrence of the problem
  • instancestringA URI reference that identifies the specific occurrence of the problem
  • errorsarray of objectValidation 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.
401application/problem+json

Credentials missing, malformed, or not recognised for this business.

{
  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
  "title": "Unauthorized",
  "status": 401,
  "detail": "Unauthorized",
  "instance": "/api/v2/purchase-orders"
}
Body fields
  • typestringA URI reference that identifies the problem type
  • titlestringA short, human-readable summary of the problem type
  • statusnumberThe HTTP status code generated by the origin server for this occurrence of the problem
  • detailstringA human-readable explanation specific to this occurrence of the problem
  • instancestringA URI reference that identifies the specific occurrence of the problem
  • errorsarray of objectValidation 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.