Download OpenAPI specification:
Logistics operations API for the 4klyft platform.
This API provides comprehensive endpoints for managing:
All API endpoints (except /api/docs and /api/v1/iam/auth/*) require JWT Bearer token authentication.
Include the token in the Authorization header:
Authorization: Bearer <your-jwt-token>
API requests are rate-limited to ensure fair usage. Standard limits are:
Retrieve a paginated list of fulfilment orders with optional filters.
| sourceOrderId | string <ulid> |
| number | string |
| custodianId | string <ulid> |
| status | string |
| policyId | string <ulid> |
| page | integer >= 1 Default: 1 |
| itemsPerPage | integer [ 1 .. 100 ] Default: 20 |
{- "totalItems": 0,
- "search": {
- "@type": "string",
- "template": "string",
- "variableRepresentation": "string",
- "mapping": [
- {
- "@type": "string",
- "variable": "string",
- "property": "string",
- "required": true
}
]
}, - "view": {
- "@id": "string",
- "@type": "string",
- "first": "string",
- "last": "string",
- "previous": "string",
- "next": "string"
}, - "member": [
- {
- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "sourceOrderId": "string",
- "custodianId": "string",
- "custodianName": "string",
- "nodeRef": "string",
- "policyId": "string",
- "appliedRuleIds": [
- "string"
], - "lineItems": [
- {
- "itemId": "string",
- "quantity": 0,
- "trackingRef": "string"
}
], - "status": "created",
- "expectedShipAt": "string",
- "expectedDeliveryAt": "string",
- "notes": "string",
- "externalIds": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "closedAt": "string"
}
]
}Retrieve a single fulfilment order by its ULID.
| id required | string FulfilmentOrder identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "sourceOrderId": "string",
- "custodianId": "string",
- "custodianName": "string",
- "nodeRef": "string",
- "policyId": "string",
- "appliedRuleIds": [
- "string"
], - "lineItems": [
- {
- "itemId": "string",
- "quantity": 0,
- "trackingRef": "string"
}
], - "status": "created",
- "expectedShipAt": "string",
- "expectedDeliveryAt": "string",
- "notes": "string",
- "externalIds": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "closedAt": "string"
}Cancel a non-terminal fulfilment order with a reason.
| id required | string FulfilmentOrder identifier |
The new FulfilmentOrder resource
| reason required | string [ 1 .. 1024 ] characters Default: "" |
{- "reason": ""
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "sourceOrderId": "string",
- "custodianId": "string",
- "custodianName": "string",
- "nodeRef": "string",
- "policyId": "string",
- "appliedRuleIds": [
- "string"
], - "lineItems": [
- {
- "itemId": "string",
- "quantity": 0,
- "trackingRef": "string"
}
], - "status": "created",
- "expectedShipAt": "string",
- "expectedDeliveryAt": "string",
- "notes": "string",
- "externalIds": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "closedAt": "string"
}Flag a fulfilment order as partially-dispatched-only with a reason — the remainder is treated as cancelled.
| id required | string FulfilmentOrder identifier |
The new FulfilmentOrder resource
| reason required | string [ 1 .. 1024 ] characters Default: "" |
{- "reason": ""
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "sourceOrderId": "string",
- "custodianId": "string",
- "custodianName": "string",
- "nodeRef": "string",
- "policyId": "string",
- "appliedRuleIds": [
- "string"
], - "lineItems": [
- {
- "itemId": "string",
- "quantity": 0,
- "trackingRef": "string"
}
], - "status": "created",
- "expectedShipAt": "string",
- "expectedDeliveryAt": "string",
- "notes": "string",
- "externalIds": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "closedAt": "string"
}Operator override of the FulfilmentOrder expected delivery date. Pass null/omit to clear.
| id required | string FulfilmentOrder identifier |
The new FulfilmentOrder resource
| expectedDeliveryAt | string or null |
{- "expectedDeliveryAt": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "sourceOrderId": "string",
- "custodianId": "string",
- "custodianName": "string",
- "nodeRef": "string",
- "policyId": "string",
- "appliedRuleIds": [
- "string"
], - "lineItems": [
- {
- "itemId": "string",
- "quantity": 0,
- "trackingRef": "string"
}
], - "status": "created",
- "expectedShipAt": "string",
- "expectedDeliveryAt": "string",
- "notes": "string",
- "externalIds": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "closedAt": "string"
}Operator override of the FulfilmentOrder expected ship-by date. Pass null/omit to clear.
| id required | string FulfilmentOrder identifier |
The new FulfilmentOrder resource
| expectedShipAt | string or null |
{- "expectedShipAt": "string"
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "sourceOrderId": "string",
- "custodianId": "string",
- "custodianName": "string",
- "nodeRef": "string",
- "policyId": "string",
- "appliedRuleIds": [
- "string"
], - "lineItems": [
- {
- "itemId": "string",
- "quantity": 0,
- "trackingRef": "string"
}
], - "status": "created",
- "expectedShipAt": "string",
- "expectedDeliveryAt": "string",
- "notes": "string",
- "externalIds": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "closedAt": "string"
}Change the (custodian, warehouse) assignment of a CREATED fulfilment order. Reassignment is forbidden once a custodian has accepted (OPEN) the order.
| id required | string FulfilmentOrder identifier |
The new FulfilmentOrder resource
| custodianId required | string <ulid> Default: "" |
{- "custodianId": ""
}{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "id": "string",
- "number": "string",
- "sourceOrderId": "string",
- "custodianId": "string",
- "custodianName": "string",
- "nodeRef": "string",
- "policyId": "string",
- "appliedRuleIds": [
- "string"
], - "lineItems": [
- {
- "itemId": "string",
- "quantity": 0,
- "trackingRef": "string"
}
], - "status": "created",
- "expectedShipAt": "string",
- "expectedDeliveryAt": "string",
- "notes": "string",
- "externalIds": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "closedAt": "string"
}Retrieve a fulfilment order together with its 3PL execution snapshot (provider type/status/sync) and a backend-computed operator ladder in a single response.
| orderId required | string FulfilmentOrderPipeline identifier |
{- "@context": "string",
- "@id": "string",
- "@type": "string",
- "orderId": "string",
- "orderNumber": "string",
- "orderStatus": "string",
- "sourceOrderId": "string",
- "custodianId": "string",
- "nodeRef": "string",
- "execution": {
- "providerType": "string",
- "providerExternalId": "string",
- "status": "string",
- "syncedAt": "string",
- "failureReason": "string"
}, - "stages": [
- {
- "key": "string",
- "label": "string",
- "status": "string",
- "at": "string"
}
]
}