Download OpenAPI specification:
REST API exposed by a partner-specific WMS adapter for side-partner integrations where the partner pushes WMS master data and work documents to FG.AI, while FG.AI posts operational outcomes back to the partner.
The API is written for the first concrete implementation,
wms-rta-adapter, but the shape is intentionally reusable by side
partners with the same topology: partner-owned upstream WMS, FG.AI-owned
execution, adapter-owned protocol translation.
The adapter is the partner-facing boundary. It accepts partner calls, validates and records raw requests, translates accepted requests into FG.AI canonical WMS/WES commands or bridge staging rows, and emits partner-specific outbound postbacks from real or synthetic execution events.
Accepts a batch of partner SKU records. The adapter validates, stores the raw request for audit, maps each item to the FG.AI canonical SKU model, and either stages or forwards it to the real master-data path depending on runtime mode.
| partnerId required | string non-empty Partner identifier assigned by FG.AI for this adapter integration. |
| requestId required | string <uuid> Caller-supplied idempotency key. Reuse returns REPLAY for the same logical request. |
| siteCode required | string non-empty Partner site identifier. |
| warehouseCode | string non-empty Partner warehouse code. Required where records are warehouse-scoped. |
required | Array of objects (Sku) [ 1 .. 1000 ] items |
{- "partnerId": "rta",
- "requestId": "0192f0b5-6db3-7f34-9d67-4cb40f7b2538",
- "siteCode": "sgse_9207",
- "warehouseCode": "8",
- "items": [
- {
- "productCode": "sku001",
- "productName": "Milk 1L",
- "sourceVersion": 1,
- "baseUom": "EA",
- "lifecycle": "ACTIVE",
- "lotTracked": false,
- "serialTracked": false,
- "temperatureClass": "AMBIENT",
- "attributes": { }
}
]
}{- "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
- "acceptedAt": "2019-08-24T14:15:22Z",
- "status": "ACCEPTED",
- "mode": "BRIDGE_STAGED",
- "results": [
- {
- "sourceCode": "string",
- "status": "ACCEPTED",
- "message": "string"
}
]
}Accepts warehouse, zone, bin, or other partner location records. Locations are partner-stable identifiers; the adapter maps them to FG.AI canonical warehouse/location/bin records.
| partnerId required | string non-empty Partner identifier assigned by FG.AI for this adapter integration. |
| requestId required | string <uuid> Caller-supplied idempotency key. Reuse returns REPLAY for the same logical request. |
| siteCode required | string non-empty Partner site identifier. |
| warehouseCode required | string non-empty Partner warehouse code. Required where records are warehouse-scoped. |
required | Array of objects (Location) [ 1 .. 2000 ] items |
{- "partnerId": "rta",
- "requestId": "0192f0b5-6db3-7f34-9d67-4cb40f7b2538",
- "siteCode": "sgse_9207",
- "warehouseCode": "8",
- "items": [
- {
- "locationCode": "A01-01-01",
- "locationType": "WAREHOUSE",
- "parentLocationCode": "A01-01",
- "sourceVersion": 1,
- "lifecycle": "ACTIVE",
- "pickable": true,
- "attributes": { }
}
]
}{- "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
- "acceptedAt": "2019-08-24T14:15:22Z",
- "status": "ACCEPTED",
- "mode": "BRIDGE_STAGED",
- "results": [
- {
- "sourceCode": "string",
- "status": "ACCEPTED",
- "message": "string"
}
]
}Accepts partner work orders and optional pre-pick label bindings. The partner owns parcel label content and print timing; the adapter treats labels as opaque bindings and forwards them to the FG.AI execution model as pre-pick labels.
In bridge mode, accepted work orders are staged and can drive synthetic outbound events for UAT. In production mode, accepted work orders are translated into canonical WMS document commands.
| partnerId required | string non-empty Partner identifier assigned by FG.AI for this adapter integration. |
| requestId required | string <uuid> Caller-supplied idempotency key. Reuse returns REPLAY for the same logical request. |
| siteCode required | string non-empty Partner site identifier. |
| warehouseCode required | string non-empty Partner warehouse code. Required where records are warehouse-scoped. |
required | Array of objects (WorkOrder) [ 1 .. 500 ] items |
{- "partnerId": "rta",
- "requestId": "0192f0b5-6db3-7f34-9d67-4cb40f7b2538",
- "siteCode": "sgse_9207",
- "warehouseCode": "8",
- "items": [
- {
- "woCode": "802401110018115014",
- "sourceVersion": 1,
- "operationType": "PICK",
- "priority": "LOW",
- "expectedStartTime": 1522824460032,
- "expectedEndTime": 1522828060032,
- "taskList": [
- {
- "taskNo": "228391",
- "productCode": "sku001",
- "planQty": "8",
- "uom": "EA",
- "locationCode": "A01-01-01",
- "batch": "batch001",
- "expirationDate": 1702623099185,
- "attributes": { }
}
], - "labelBindings": [
- {
- "labelId": "RTA-LABEL-000001",
- "trackingNo": "SF123456789",
- "boundToType": "PARCEL",
- "boundToCode": "CTN001",
- "printMode": "PRE_PICK",
- "attributes": { }
}
], - "attributes": { }
}
]
}{- "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
- "acceptedAt": "2019-08-24T14:15:22Z",
- "status": "ACCEPTED",
- "mode": "BRIDGE_STAGED",
- "results": [
- {
- "sourceCode": "string",
- "status": "ACCEPTED",
- "message": "string"
}
]
}Requests cancellation of a work order by partner-stable work-order code. The adapter translates the request into FG.AI canonical cancellation semantics.
Cancellation is not a blind delete. The response reports one of four outcomes:
ACCEPTED: all bound work was pre-custody and cancellation applied.ACCEPTED_PARTIAL: some work cancelled, some was too late.TOO_LATE: execution passed the cancellation boundary.UNKNOWN: state could not be determined; manual reconciliation.Labels supplied with the work order are reported as voided, too late, or unknown at the same adapter boundary.
| woCode required | string non-empty Example: 802401110018115014 Partner-stable work-order code. |
| partnerId required | string non-empty Partner identifier assigned by FG.AI for this adapter integration. |
| requestId required | string <uuid> Caller-supplied idempotency key. Reuse returns REPLAY for the same logical request. |
| siteCode required | string non-empty Partner site identifier. |
| warehouseCode required | string non-empty Partner warehouse code. Required where records are warehouse-scoped. |
| cancelledAt required | string <date-time> |
| reason required | string non-empty |
| comment | string or null |
{- "partnerId": "rta",
- "requestId": "0192f0b5-6db3-7f34-9d67-4cb40f7b2538",
- "siteCode": "sgse_9207",
- "warehouseCode": "8",
- "cancelledAt": "2026-05-31T09:00:00Z",
- "reason": "upstream-cancelled",
- "comment": "string"
}{- "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
- "woCode": "string",
- "status": "ACCEPTED",
- "cancelOutcome": "ACCEPTED",
- "evaluatedAt": "2019-08-24T14:15:22Z",
- "voidedLabels": [
- "string"
], - "tooLateLabels": [
- "string"
], - "unknownLabels": [
- "string"
], - "message": "string"
}Returns the adapter's durable view of a previously submitted request: raw acceptance state, per-item result, and bridge/processing state. This endpoint is for UAT diagnostics and production reconciliation; it is not a polling queue.
| requestId required | string <uuid> Caller-supplied idempotency key from the request envelope. |
{- "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
- "siteCode": "string",
- "warehouseCode": "string",
- "endpoint": "/work-orders",
- "status": "ACCEPTED",
- "mode": "BRIDGE_STAGED",
- "receivedAt": "2019-08-24T14:15:22Z",
- "processedAt": "2019-08-24T14:15:22Z",
- "results": [
- {
- "sourceCode": "string",
- "status": "ACCEPTED",
- "message": "string"
}
]
}