ILGFUSE

Submit work order records

POST/api/v2/work-ordersWork Orders in Fuse

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.

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 referenceworkOrder.customerRef
  • Ownerlocation.ownerId
  • Line IDlines[].line
  • SKU codelines[].skuId

Request schema

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

  • identifiersobjectHow this work order is identified.
    • idstringYour unique reference for this work order.
    • businessIdstringYour Fuse business ID. Must match the businessId you authenticate with.
    • businessWorkOrderIdstring
    • customerIdstringThe customer account the work is for.
    • businessCustomerIdstring
    • shipmentIdstring
    • salesOrderstring
    • consignmentIdstring
    • pickGroupIdstring
    • primestring
  • workOrderobjectWhat kind of work this is and how it is referenced.
    • typeenumone of "kitting", "rework", "quality_check", "special_handling", "disposition"The work type — kitting (build a bundle from components), rework, quality_check, special_handling, or disposition.
    • classstringWork-order class code from your onboarding configuration.
    • statusstring
    • stagestring
    • priorityPrimestring
    • priorityAllocationstring
    • priorityDespatchstring
    • customerRefstringmandatoryThe customer-facing work-order reference.
    • instructionsstringFree-text build instructions for the warehouse team.
    • notesstring
    • supervisorstring
    • generalReasonstring
    • returnReasonstring
    • maintenanceIndicatorstring
  • customerobject
    • groupstring
    • namestring
    • referencestring
  • locationobjectWhere the work happens.
    • sitestringSite code, from your onboarding configuration.
    • warehousestringWarehouse code within the site.
    • ownerIdstringmandatoryStock owner the work books against.
    • stockStatusstring
    • regionstring
    • distributionCenterstring
    • storestring
  • qualityControlobject
    • qualityControlstring
    • shortageCodestring
    • quantityVariancestring
    • cutOffIndstring
  • quantitiesobject
    • totalLinesnumber
    • totalComponentsnumber
    • totalFinishedGoodsnumber
    • totalQuantitynumber
    • stockTransferUnitQuantitynumber
    • volumenumber
    • weightnumber
    • actualWeightnumber
  • tasksobject
    • countNewnumber
    • countCurrentnumber
    • countActionednumber
  • timingobject
    • timeToPicknumber
    • timeToPacknumber
    • timeToChecknumber
    • timeToLoadnumber
    • timeOthernumber
    • timeToDelivernumber
  • financialobject
    • currencystring
  • shippingobject
    • shippingLanestring
  • datesobjectWork-order dates.
    • createdstringISO 8601 date or date-time
    • dueBystringWhen the work must be complete.
    • dueOutstringISO 8601 date or date-time
    • startedstringISO 8601 date or date-time
    • completedstringISO 8601 date or date-time
    • shipmentstringISO 8601 date or date-time
    • deliverystringISO 8601 date or date-time
    • closedstringISO 8601 date or date-time
    • suspendedstringISO 8601 date or date-time
  • indicatorsobject
    • overduestring
    • paperworkstring
  • metadataobject
    • notesstring
  • miscobject
    • valuesstring
  • customisationsarray of object
    • namestring
    • valuestring
  • linesarray of objectThe work-order lines — the finished good being built and the components consumed. Component quantities are totals for the whole build, not per kit.
    • workOrderIdstringThe work order this line belongs to — repeat the header id.
    • linestringmandatoryLine number within the work order, as a string.
    • levelstring
    • skuIdstringmandatoryThe SKU on this line — the master/kit SKU on the finished-good line, a component SKU otherwise.
    • businessSKUstring
    • customerSKUstring
    • customerOrderstring
    • soLineIdnumber
    • roleenumone of "component", "finished_good"finished_good marks the master SKU being produced; component marks a stock item consumed to build it.
    • productobject
      • upcstring
      • upcDescriptionstring
      • categorystring
      • unitOfMeasurestring
      • catchWeightnumber
    • ownershipobject
      • lineOwnerstring
      • lineStockStatusstring
      • ownerIdstring
      • stockStatusstring
    • quantitiesobjectLine quantities — ordered on the finished-good line, required on component lines.
      • orderednumberQuantity of the finished good to build.
      • requirednumberTotal component quantity consumed across the whole build (10 kits needing two each = 20).
      • allocatednumber
      • taskednumber
      • pickednumber
      • consumednumber
      • producednumber
      • shippednumber
      • deliverednumber
      • dueOutnumber
    • qualityobject
      • returnReasonstring
      • qualityControlstring
      • shortagestring
      • quantityVariancestring
    • indicatorsobject
      • backOrderIndicatorstring
      • attachmentIndstring
      • specialConditionIndstring
    • locationobject
      • consignmentIdstring
      • pickGroupIdstring
      • siteIdstring
      • warehousestring
    • businessobject
      • businessIdstring
    • timingobject
      • datePickedstringISO 8601 date or date-time
      • dateConsumedstringISO 8601 date or date-time
      • dateProducedstringISO 8601 date or date-time
      • dateShipmentstringISO 8601 date or date-time
      • stagestring
    • miscobject
      • lineValuesstring
    • customisationsarray of object
      • namestring
      • valuestring

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/work-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/work-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.