Cross-docking
Every operation below is generated from the OpenAPI v2 specification and includes parameters, request fields, response fields, errors, and examples.
Create the flow with
POST /api/v2/acceptances and type_id=3. NWMS atomically creates the acceptance, draft case, supply rows, command record, and first audit event.Command contract
Every write uses a {data: {...}} envelope, an Idempotency-Key header, and a UUID command_id. Send the current version for versioned resources; stale values return 409. Persist the correlation ID, command ID, case/session public ID, and version for recovery. Cross-dock errors use message, errors, and meta.error_code without a top-level error field.
Integration sequence
enable warehouse → create type-3 acceptance/case → create orders and targets → plan → inspect allocations → release → source scan → optional quantity → target scan → exception/fallback when needed → print/loading → close.
Handling modes
A box is an HU only when it has a scannable SSCC or quant barcode. Boxes without their own barcode are handled as product pieces. If a scanned box cannot fit the remaining demand, the source command returns open_box_and_scan_items; the box target scan is blocked and the operator continues with product scans. Cross-dock orders bypass ordinary reservation and the packing worktable; full fulfillment moves the order from picking to packed with ledger and audit records.
Cross-docking
List cross-dock cases
| operationId | crossDockListCases |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock cases in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 250 |
Number of records per page. Default is 50; maximum is 250. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
50 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, planned_arrival_at, planned_departure_at, created_at, updated_at. Default: -id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"-id" |
include |
query | no | string |
form | false | Comma-separated optional relations. Allowed values: acceptance, orders, targets. The same filter may also be sent as filter[include] where supported by the Laravel query adapter. |
"acceptance,orders,targets" |
|
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
status |
query | no | string |
form | true | Filter by status using exact matching. The same filter may also be sent as filter[status] where supported by the Laravel query adapter. |
"waiting" |
|
physical_warehouse_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by physical_warehouse_id using exact matching. The same filter may also be sent as filter[physical_warehouse_id] where supported by the Laravel query adapter. |
41 |
client_warehouse_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by client_warehouse_id using exact matching. The same filter may also be sent as filter[client_warehouse_id] where supported by the Laravel query adapter. |
43 |
acceptance_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by acceptance_id using exact matching. The same filter may also be sent as filter[acceptance_id] where supported by the Laravel query adapter. |
1 |
planned_arrival_at_from |
query | no | string:date |
form | true | Lower inclusive date boundary for planned_arrival_at. The same filter may also be sent as filter[planned_arrival_at_from] where supported by the Laravel query adapter. |
"2026-07-14" |
|
planned_arrival_at_to |
query | no | string:date |
form | true | Upper inclusive date boundary for planned_arrival_at. The same filter may also be sent as filter[planned_arrival_at_to] where supported by the Laravel query adapter. |
"2026-07-14" |
|
created_at_from |
query | no | string:date |
form | true | Lower inclusive date boundary for created_at. The same filter may also be sent as filter[created_at_from] where supported by the Laravel query adapter. |
"2026-07-14" |
|
created_at_to |
query | no | string:date |
form | true | Upper inclusive date boundary for created_at. The same filter may also be sent as filter[created_at_to] where supported by the Laravel query adapter. |
"2026-07-14" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockCase> |
|
|||
data[] |
no | CrossDockCase |
Cross-dock aggregate linking inbound supply, outbound demand, execution, exceptions, and loading. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
yes | string |
"01J2CROSSDOCKCASE000000001" |
|||
data[].external_id |
no | string | null |
"XD-2026-001" |
|||
data[].domain_id |
yes | integer:int64 |
min: 1 | 3 |
||
data[].physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
data[].client_warehouse_id |
no | integer:int64 | null |
min: 1 | 43 |
||
data[].client_id |
no | integer:int64 | null |
min: 1 | 15 |
||
data[].process_version |
yes | string |
"direct_order_v1" |
|||
data[].status |
yes | enum |
enum: draft, planned, released, in_progress, exception, completed, cancelled | "released" |
||
data[].status_before_exception |
no | string | null |
"released" |
|||
data[].plan_hash |
no | string | null |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
||
data[].strategy_version |
no | string | null |
"fifo-v1" |
|||
data[].planned_arrival_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].cutoff_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].planned_departure_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].planned_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].released_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].version |
yes | integer:int64 |
min: 1 | 4 |
||
data[].acceptance |
no | object | null |
|
|||
data[].acceptance.id |
yes | integer:int64 |
min: 1 | 5101 |
||
data[].acceptance.external_id |
no | string | null |
"ASN-100245" |
|||
data[].acceptance.type_id |
yes | integer:int64 |
1 |
|||
data[].acceptance.type_code |
yes | string |
"crossdock" |
|||
data[].acceptance.status_id |
yes | integer:int64 |
1 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKCASE000000001",
"domain_id": 3,
"physical_warehouse_id": 42,
"process_version": "direct_order_v1",
"status": "released",
"version": 4
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases",
"per_page": 50,
"to": 50,
"total": 73
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Get cross-dock case
| operationId | crossDockGetCase |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Get cross-dock case in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockCase |
Cross-dock aggregate linking inbound supply, outbound demand, execution, exceptions, and loading. | |
||
data.id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.public_id |
yes | string |
"01J2CROSSDOCKCASE000000001" |
|||
data.external_id |
no | string | null |
"XD-2026-001" |
|||
data.domain_id |
yes | integer:int64 |
min: 1 | 3 |
||
data.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
data.client_warehouse_id |
no | integer:int64 | null |
min: 1 | 43 |
||
data.client_id |
no | integer:int64 | null |
min: 1 | 15 |
||
data.process_version |
yes | string |
"direct_order_v1" |
|||
data.status |
yes | enum |
enum: draft, planned, released, in_progress, exception, completed, cancelled | "released" |
||
data.status_before_exception |
no | string | null |
"released" |
|||
data.plan_hash |
no | string | null |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
||
data.strategy_version |
no | string | null |
"fifo-v1" |
|||
data.planned_arrival_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.cutoff_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_departure_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.released_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.version |
yes | integer:int64 |
min: 1 | 4 |
||
data.acceptance |
no | object | null |
|
|||
data.acceptance.id |
yes | integer:int64 |
min: 1 | 5101 |
||
data.acceptance.external_id |
no | string | null |
"ASN-100245" |
|||
data.acceptance.type_id |
yes | integer:int64 |
1 |
|||
data.acceptance.type_code |
yes | string |
"crossdock" |
|||
data.acceptance.status_id |
yes | integer:int64 |
1 |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 1001,
"public_id": "01J2CROSSDOCKCASE000000001",
"domain_id": 3,
"physical_warehouse_id": 42,
"process_version": "direct_order_v1",
"status": "released",
"version": 4
},
"meta": {
"api_version": "v2"
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Update cross-dock case metadata
| operationId | crossDockUpdateCaseMetadata |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Update cross-dock case metadata in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request PATCH "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockUpdateCaseRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 3 |
||
data.external_id |
no | string | null |
maxLength: 190 | "XD-2026-001" |
||
data.planned_arrival_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.cutoff_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_departure_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockCase |
Cross-dock aggregate linking inbound supply, outbound demand, execution, exceptions, and loading. | |
||
data.id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.public_id |
yes | string |
"01J2CROSSDOCKCASE000000001" |
|||
data.external_id |
no | string | null |
"XD-2026-001" |
|||
data.domain_id |
yes | integer:int64 |
min: 1 | 3 |
||
data.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
data.client_warehouse_id |
no | integer:int64 | null |
min: 1 | 43 |
||
data.client_id |
no | integer:int64 | null |
min: 1 | 15 |
||
data.process_version |
yes | string |
"direct_order_v1" |
|||
data.status |
yes | enum |
enum: draft, planned, released, in_progress, exception, completed, cancelled | "released" |
||
data.status_before_exception |
no | string | null |
"released" |
|||
data.plan_hash |
no | string | null |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
||
data.strategy_version |
no | string | null |
"fifo-v1" |
|||
data.planned_arrival_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.cutoff_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_departure_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.planned_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.released_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.version |
yes | integer:int64 |
min: 1 | 4 |
||
data.acceptance |
no | object | null |
|
|||
data.acceptance.id |
yes | integer:int64 |
min: 1 | 5101 |
||
data.acceptance.external_id |
no | string | null |
"ASN-100245" |
|||
data.acceptance.type_id |
yes | integer:int64 |
1 |
|||
data.acceptance.type_code |
yes | string |
"crossdock" |
|||
data.acceptance.status_id |
yes | integer:int64 |
1 |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 1001,
"public_id": "01J2CROSSDOCKCASE000000001",
"domain_id": 3,
"physical_warehouse_id": 42,
"process_version": "direct_order_v1",
"status": "released",
"version": 4
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock allocations
| operationId | crossDockListAllocations |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock allocations in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/allocations" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
state |
query | no | string |
form | true | Filter by state using exact matching. The same filter may also be sent as filter[state] where supported by the Laravel query adapter. |
"ready" |
|
supply_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by supply_id using exact matching. The same filter may also be sent as filter[supply_id] where supported by the Laravel query adapter. |
1 |
demand_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by demand_id using exact matching. The same filter may also be sent as filter[demand_id] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockAllocation> |
|
|||
data[] |
no | CrossDockAllocation |
Planner decision assigning supply to demand. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].supply_id |
yes | integer:int64 |
min: 1 | 4201 |
||
data[].demand_id |
yes | integer:int64 |
min: 1 | 4251 |
||
data[].base_quantity |
yes | number:float |
4 |
|||
data[].released_base_quantity |
no | number:float |
4 |
|||
data[].short_base_quantity |
no | number:float |
0 |
|||
data[].state |
yes | string |
"ready" |
|||
data[].state_before_exception |
no | string | null |
"ready" |
|||
data[].match_score |
no | number:float |
1 |
|||
data[].match_reason |
no | object |
|
|||
data[].match_reason.reason_codes |
no | array<string> |
|
|||
data[].match_reason.reason_codes[] |
no | string |
"base_product_match" |
|||
data[].version |
yes | integer:int64 |
2 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"case_id": 4101,
"supply_id": 4201,
"demand_id": 4251,
"base_quantity": 4,
"released_base_quantity": 4,
"short_base_quantity": 0,
"state": "ready",
"match_score": 1,
"version": 2
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/allocations?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/allocations?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/allocations?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/allocations",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Cancel cross-dock case
| operationId | crossDockCancelCase |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Cancel cross-dock case in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/cancel" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockCancelCaseRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 3 |
||
data.reason |
yes | string |
maxLength: 5000 | "Supplier cancelled shipment" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3,
"reason": "Supplier cancelled shipment"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Close cross-dock case
| operationId | crossDockCloseCase |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Close cross-dock case in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/close" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockCloseCaseRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 8 |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 8
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock demands
| operationId | crossDockListDemands |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock demands in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/demands" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, priority, cutoff_at, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
state |
query | no | string |
form | true | Filter by state using exact matching. The same filter may also be sent as filter[state] where supported by the Laravel query adapter. |
"ready" |
|
product_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by product_id using exact matching. The same filter may also be sent as filter[product_id] where supported by the Laravel query adapter. |
1201 |
base_product_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by base_product_id using exact matching. The same filter may also be sent as filter[base_product_id] where supported by the Laravel query adapter. |
1200 |
order_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by order_id using exact matching. The same filter may also be sent as filter[order_id] where supported by the Laravel query adapter. |
1 |
target_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by target_id using exact matching. The same filter may also be sent as filter[target_id] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockDemand> |
|
|||
data[] |
no | CrossDockDemand |
Outbound product demand linked to one order and target. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].order_id |
yes | integer:int64 |
min: 1 | 8101 |
||
data[].order_line_id |
yes | integer:int64 |
min: 1 | 8201 |
||
data[].target_id |
yes | integer:int64 |
min: 1 | 4301 |
||
data[].product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].base_product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].quantity |
yes | number:float |
4 |
|||
data[].base_quantity |
yes | number:float |
4 |
|||
data[].allocated_base_quantity |
no | number:float |
4 |
|||
data[].fulfilled_base_quantity |
no | number:float |
2 |
|||
data[].state |
yes | string |
"released" |
|||
data[].state_before_exception |
no | string | null |
"released" |
|||
data[].priority |
no | integer:int64 |
100 |
|||
data[].cutoff_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].ship_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].source_policy |
no | enum | null |
enum: crossdock_only, crossdock_then_stock, stock_allowed | "crossdock_only" |
||
data[].destination_ref |
no | string | null |
"SOF-LANE-1" |
|||
data[].carrier_ref |
no | string | null |
"CDEK" |
|||
data[].route_ref |
no | string | null |
"BG-SOF" |
|||
data[].version |
yes | integer:int64 |
2 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"case_id": 4101,
"order_id": 8101,
"order_line_id": 8201,
"target_id": 4301,
"product_id": 1201,
"base_product_id": 1201,
"quantity": 4,
"base_quantity": 4,
"allocated_base_quantity": 4,
"fulfilled_base_quantity": 2,
"state": "released",
"priority": 100,
"version": 2
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/demands?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/demands?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/demands?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/demands",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock events
| operationId | crossDockListEvents |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock events in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/events" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, occurred_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
type |
query | no | string |
form | true | Filter by type using exact matching. The same filter may also be sent as filter[type] where supported by the Laravel query adapter. |
"inbound" |
|
aggregate_type |
query | no | string |
form | true | Filter by aggregate_type using exact matching. The same filter may also be sent as filter[aggregate_type] where supported by the Laravel query adapter. |
"case" |
|
command_id |
query | no | string |
form | true | Filter by command_id using exact matching. The same filter may also be sent as filter[command_id] where supported by the Laravel query adapter. |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|
occurred_at_from |
query | no | string:date |
form | true | Lower inclusive date boundary for occurred_at. The same filter may also be sent as filter[occurred_at_from] where supported by the Laravel query adapter. |
"2026-07-14" |
|
occurred_at_to |
query | no | string:date |
form | true | Upper inclusive date boundary for occurred_at. The same filter may also be sent as filter[occurred_at_to] where supported by the Laravel query adapter. |
"2026-07-14" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockEvent> |
|
|||
data[] |
no | CrossDockEvent |
Append-only cross-dock audit event. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].event_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].aggregate_type |
yes | string |
"case" |
|||
data[].aggregate_id |
yes | string |
"01J2CROSSDOCKCASE000000001" |
|||
data[].aggregate_version |
yes | integer:int64 |
4 |
|||
data[].type |
yes | string |
"crossdock.case.released" |
|||
data[].actor_id |
no | integer:int64 | null |
min: 1 | 25 |
||
data[].source |
yes | string |
"api" |
|||
data[].command_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data[].correlation_id |
no | string:uuid | null |
"4d9d6b9b-9c6d-4d2f-8c80-8f9a4d8b4f01" |
|||
data[].payload |
no | object |
|
|||
data[].occurred_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].recorded_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"event_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"case_id": 4101,
"aggregate_type": "case",
"aggregate_id": "01J2CROSSDOCKCASE000000001",
"aggregate_version": 4,
"type": "crossdock.case.released",
"source": "api"
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/events?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/events?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/events?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/events",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock exceptions
| operationId | crossDockListExceptions |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock exceptions in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/exceptions" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, created_at, resolved_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
type |
query | no | string |
form | true | Filter by type using exact matching. The same filter may also be sent as filter[type] where supported by the Laravel query adapter. |
"inbound" |
|
severity |
query | no | string |
form | true | Filter by severity using exact matching. The same filter may also be sent as filter[severity] where supported by the Laravel query adapter. |
"blocking" |
|
status |
query | no | string |
form | true | Filter by status using exact matching. The same filter may also be sent as filter[status] where supported by the Laravel query adapter. |
"waiting" |
|
task_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by task_id using exact matching. The same filter may also be sent as filter[task_id] where supported by the Laravel query adapter. |
1 |
supply_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by supply_id using exact matching. The same filter may also be sent as filter[supply_id] where supported by the Laravel query adapter. |
1 |
demand_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by demand_id using exact matching. The same filter may also be sent as filter[demand_id] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockException> |
|
|||
data[] |
no | CrossDockException |
Operational discrepancy with explicit resolution history. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
yes | string |
"01J2CROSSDOCKEXCEPTION001" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].allocation_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].supply_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].demand_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].fulfillment_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].handling_unit_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].task_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].type |
yes | string |
"shortage" |
|||
data[].severity |
yes | enum |
enum: warning, blocking | "blocking" |
||
data[].status |
yes | string |
"open" |
|||
data[].expected |
no | object | null |
|
|||
data[].actual |
no | object | null |
|
|||
data[].resolution_policy |
no | string | null |
"fallback" |
|||
data[].resolution_decision |
no | string | null |
"fallback_storage" |
|||
data[].reason |
no | string | null |
"Two units missing" |
|||
data[].movement_group_id |
no | string | null |
"XD-MOVE-4101-2" |
|||
data[].opened_by |
no | integer:int64 | null |
min: 1 | 25 |
||
data[].resolved_by |
no | integer:int64 | null |
min: 1 | 26 |
||
data[].resolved_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].version |
yes | integer:int64 |
1 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKEXCEPTION001",
"case_id": 4101,
"type": "shortage",
"severity": "blocking",
"status": "open",
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/exceptions?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/exceptions?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/exceptions?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/exceptions",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Open cross-dock exception
| operationId | crossDockOpenException |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Open cross-dock exception in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/exceptions" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockOpenExceptionRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.type |
yes | enum |
enum: shortage, overage, damaged, sku_mismatch, lot_mismatch, expired, unknown_hu, wrong_target, capacity, timeout, cancelled_demand, transport_delay | "shortage" |
||
data.severity |
no | enum |
enum: warning, blocking | "blocking" |
||
data.allocation_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.supply_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.demand_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.fulfillment_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.handling_unit_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.task_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.expected |
no | object | null |
|
|||
data.actual |
no | object | null |
|
|||
data.resolution_policy |
no | string | null |
maxLength: 50 | "fallback" |
||
data.reason |
no | string | null |
maxLength: 5000 | "Two units missing" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"type": "shortage",
"severity": "blocking"
}
}
Responses
201 Created.
Created.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Execute cross-dock fallback by alias
| operationId | crossDockExecuteFallbackByAlias |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Compatibility alias for the plural fallback command; prefer /fallbacks in new clients.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/fallback" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockFallbackRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.supply_id |
yes | integer:int64 |
min: 1 | 4201 |
||
data.exception_id |
no | integer:int64 | null |
min: 1 | 4951 |
||
data.product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data.base_quantity |
yes | number:float |
min: 0.0001 | 2 |
||
data.source_place_id |
no | integer:int64 | null |
min: 1 | 800 |
||
data.target_place_id |
yes | integer:int64 |
min: 1 | 950 |
||
data.route |
yes | enum |
enum: storage, quarantine | "quarantine" |
||
data.source_barcode |
no | string | null |
maxLength: 190 | "4601234567890" |
||
data.reason |
no | string | null |
maxLength: 5000 | "Damaged package" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"supply_id": 4201,
"product_id": 1201,
"base_quantity": 2,
"target_place_id": 950,
"route": "quarantine"
}
}
Responses
201 Created.
Created.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock fallbacks
| operationId | crossDockListFallbacks |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock fallbacks in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/fallbacks" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
supply_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by supply_id using exact matching. The same filter may also be sent as filter[supply_id] where supported by the Laravel query adapter. |
1 |
exception_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by exception_id using exact matching. The same filter may also be sent as filter[exception_id] where supported by the Laravel query adapter. |
1 |
product_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by product_id using exact matching. The same filter may also be sent as filter[product_id] where supported by the Laravel query adapter. |
1201 |
route |
query | no | string |
form | true | Filter by route using exact matching. The same filter may also be sent as filter[route] where supported by the Laravel query adapter. |
"quarantine" |
|
state |
query | no | string |
form | true | Filter by state using exact matching. The same filter may also be sent as filter[state] where supported by the Laravel query adapter. |
"ready" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockFallback> |
|
|||
data[] |
no | CrossDockFallback |
Compensating route from cross-dock flow to storage or quarantine. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
yes | string |
"01J2CROSSDOCKFALLBACK0001" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].supply_id |
yes | integer:int64 |
min: 1 | 4201 |
||
data[].exception_id |
no | integer:int64 | null |
min: 1 | 4951 |
||
data[].product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].base_product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].quantity |
yes | number:float |
2 |
|||
data[].base_quantity |
yes | number:float |
2 |
|||
data[].source_place_id |
no | integer:int64 | null |
min: 1 | 800 |
||
data[].target_place_id |
yes | integer:int64 |
min: 1 | 950 |
||
data[].route |
yes | enum |
enum: storage, quarantine | "quarantine" |
||
data[].acceptance_offer_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].warehouse_item_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].state |
yes | string |
"completed" |
|||
data[].reason |
no | string | null |
"Damaged package" |
|||
data[].movement_group_id |
no | string | null |
"XD-FALLBACK-4101-1" |
|||
data[].created_by |
no | integer:int64 | null |
min: 1 | 25 |
||
data[].version |
yes | integer:int64 |
1 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKFALLBACK0001",
"case_id": 4101,
"supply_id": 4201,
"product_id": 1201,
"base_product_id": 1201,
"quantity": 2,
"base_quantity": 2,
"target_place_id": 950,
"route": "quarantine",
"state": "completed",
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fallbacks?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fallbacks?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fallbacks?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fallbacks",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Execute cross-dock fallback
| operationId | crossDockExecuteFallback |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Moves the selected quantity to storage or quarantine while preserving source lineage and resolving the linked exception when supplied.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/fallbacks" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockFallbackRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.supply_id |
yes | integer:int64 |
min: 1 | 4201 |
||
data.exception_id |
no | integer:int64 | null |
min: 1 | 4951 |
||
data.product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data.base_quantity |
yes | number:float |
min: 0.0001 | 2 |
||
data.source_place_id |
no | integer:int64 | null |
min: 1 | 800 |
||
data.target_place_id |
yes | integer:int64 |
min: 1 | 950 |
||
data.route |
yes | enum |
enum: storage, quarantine | "quarantine" |
||
data.source_barcode |
no | string | null |
maxLength: 190 | "4601234567890" |
||
data.reason |
no | string | null |
maxLength: 5000 | "Damaged package" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"supply_id": 4201,
"product_id": 1201,
"base_quantity": 2,
"target_place_id": 950,
"route": "quarantine"
}
}
Responses
201 Created.
Created.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock fulfillments
| operationId | crossDockListFulfillments |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock fulfillments in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/fulfillments" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
state |
query | no | string |
form | true | Filter by state using exact matching. The same filter may also be sent as filter[state] where supported by the Laravel query adapter. |
"ready" |
|
allocation_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by allocation_id using exact matching. The same filter may also be sent as filter[allocation_id] where supported by the Laravel query adapter. |
1 |
supply_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by supply_id using exact matching. The same filter may also be sent as filter[supply_id] where supported by the Laravel query adapter. |
1 |
demand_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by demand_id using exact matching. The same filter may also be sent as filter[demand_id] where supported by the Laravel query adapter. |
1 |
target_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by target_id using exact matching. The same filter may also be sent as filter[target_id] where supported by the Laravel query adapter. |
1 |
product_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by product_id using exact matching. The same filter may also be sent as filter[product_id] where supported by the Laravel query adapter. |
1201 |
base_product_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by base_product_id using exact matching. The same filter may also be sent as filter[base_product_id] where supported by the Laravel query adapter. |
1200 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockFulfillment> |
|
|||
data[] |
no | CrossDockFulfillment |
Physically confirmed cross-dock fragment with exact product and quant lineage. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].fragment_uuid |
yes | string:uuid |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].allocation_id |
yes | integer:int64 |
min: 1 | 4501 |
||
data[].supply_id |
yes | integer:int64 |
min: 1 | 4201 |
||
data[].demand_id |
yes | integer:int64 |
min: 1 | 4251 |
||
data[].target_id |
yes | integer:int64 |
min: 1 | 4301 |
||
data[].handling_unit_id |
no | integer:int64 | null |
min: 1 | 4601 |
||
data[].container_place_id |
no | integer:int64 | null |
min: 1 | 901 |
||
data[].source_warehouse_item_id |
no | integer:int64 | null |
min: 1 | 4701 |
||
data[].product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].base_product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].quantity |
yes | number:float |
2 |
|||
data[].base_quantity |
yes | number:float |
2 |
|||
data[].batch |
no | string | null |
"LOT-2026" |
|||
data[].production_date |
no | string:date | null |
"2026-07-14" |
|||
data[].expiration_date |
no | string:date | null |
"2027-01-15" |
|||
data[].state |
yes | string |
"routed" |
|||
data[].source_place_id |
no | integer:int64 | null |
min: 1 | 800 |
||
data[].target_place_id |
no | integer:int64 | null |
min: 1 | 900 |
||
data[].movement_group_id |
no | string | null |
"XD-MOVE-4101-1" |
|||
data[].version |
yes | integer:int64 |
1 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"fragment_uuid": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4",
"case_id": 4101,
"allocation_id": 4501,
"supply_id": 4201,
"demand_id": 4251,
"target_id": 4301,
"product_id": 1201,
"base_product_id": 1201,
"quantity": 2,
"base_quantity": 2,
"state": "routed",
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fulfillments?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fulfillments?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fulfillments?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/fulfillments",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock target labels
| operationId | crossDockListTargetLabels |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock target labels in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/labels" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
status |
query | no | string |
form | true | Filter by status using exact matching. The same filter may also be sent as filter[status] where supported by the Laravel query adapter. |
"waiting" |
|
target_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by target_id using exact matching. The same filter may also be sent as filter[target_id] where supported by the Laravel query adapter. |
1 |
version |
query | no | integer:int64 |
form | true | min: 1 | Filter by version using exact matching. The same filter may also be sent as filter[version] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockTargetLabel> |
|
|||
data[] |
no | CrossDockTargetLabel |
Versioned, signed target barcode; only the current ready label can confirm a target. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
yes | string |
"01J2CROSSDOCKLABEL0000001" |
|||
data[].target_id |
yes | integer:int64 |
min: 1 | 4301 |
||
data[].version |
yes | integer:int64 |
2 |
|||
data[].barcode |
yes | string |
"XD1.4301.2.signature" |
|||
data[].template_version |
yes | string |
"crossdock-target-v1" |
|||
data[].artifact_ref |
no | string | null |
"crossdock/labels/4401.pdf" |
|||
data[].artifact_hash |
no | string | null |
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" |
|||
data[].status |
yes | string |
"ready" |
|||
data[].reprint_count |
no | integer:int64 |
0 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKLABEL0000001",
"target_id": 4301,
"version": 2,
"barcode": "XD1.4301.2.signature",
"template_version": "crossdock-target-v1",
"status": "ready",
"reprint_count": 0
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/labels?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/labels?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/labels?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/labels",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Create cross-dock print jobs
| operationId | crossDockCreatePrintJobs |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Create cross-dock print jobs in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/labels/print-jobs" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockCreatePrintJobsRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 5 |
||
data.label_ids |
no | array<integer:int64> |
minItems: 1 | |
||
data.label_ids[] |
no | integer:int64 |
min: 1 | 4401 |
||
data.printer_id |
no | integer:int64 | null |
min: 1 | 55 |
||
data.device_id |
no | string | null |
maxLength: 190 | "gate-printer-1" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5
}
}
Responses
201 Created.
Created.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List case loading-visit associations
| operationId | crossDockListCaseLoadingVisitAssociations |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List case loading-visit associations in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
loading_visit_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by loading_visit_id using exact matching. The same filter may also be sent as filter[loading_visit_id] where supported by the Laravel query adapter. |
1 |
document_type |
query | no | string |
form | true | Filter by document_type using exact matching. The same filter may also be sent as filter[document_type] where supported by the Laravel query adapter. |
"acceptance" |
|
document_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by document_id using exact matching. The same filter may also be sent as filter[document_id] where supported by the Laravel query adapter. |
5101 |
role |
query | no | string |
form | true | Filter by role using exact matching. The same filter may also be sent as filter[role] where supported by the Laravel query adapter. |
"outbound" |
|
status |
query | no | string |
form | true | Filter by status using exact matching. The same filter may also be sent as filter[status] where supported by the Laravel query adapter. |
"waiting" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockLoadingAssociation> |
|
|||
data[] |
no | CrossDockLoadingAssociation |
Association between a cross-dock document and a loading visit. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data[].loading_visit_id |
yes | integer:int64 |
min: 1 | 6101 |
||
data[].document_type |
yes | string |
"order" |
|||
data[].document_id |
yes | integer:int64 |
min: 1 | 8101 |
||
data[].role |
yes | string |
"outbound" |
|||
data[].status |
yes | string |
"attached" |
|||
data[].created_by |
no | integer:int64 | null |
min: 1 | 25 |
||
data[].detached_by |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].detached_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].visit |
no | object | null |
|
|||
data[].visit.id |
yes | integer:int64 |
min: 1 | 6101 |
||
data[].visit.type |
yes | string |
"outbound" |
|||
data[].visit.status |
yes | string |
"approved" |
|||
data[].visit.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
data[].visit.gate_id |
no | integer:int64 | null |
min: 1 | 3 |
||
data[].visit.planned_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"loading_visit_id": 6101,
"document_type": "order",
"document_id": 8101,
"role": "outbound",
"status": "attached"
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/loading-visits?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/loading-visits?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/loading-visits?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/loading-visits",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Attach loading visit to cross-dock case
| operationId | crossDockAttachLoadingVisitToCase |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Attach loading visit to cross-dock case in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits/attach" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockLoadingVisitLinkRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 5 |
||
data.loading_visit_id |
yes | integer:int64 |
min: 1 | 6101 |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5,
"loading_visit_id": 6101
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Detach loading visit from cross-dock case
| operationId | crossDockDetachLoadingVisitFromCase |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Detach loading visit from cross-dock case in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits/detach" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockLoadingVisitLinkRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 5 |
||
data.loading_visit_id |
yes | integer:int64 |
min: 1 | 6101 |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5,
"loading_visit_id": 6101
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Attach loading visit by path ID
| operationId | crossDockAttachLoadingVisitByPathId |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Attach loading visit by path ID in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits/1001/attach" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
visit |
path | yes | integer:int64 |
min: 1 | Loading visit ID. | 1001 |
||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockLoadingVisitPathLinkRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 5 |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Detach loading visit by path ID
| operationId | crossDockDetachLoadingVisitByPathId |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Detach loading visit by path ID in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading-visits/1001/detach" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
visit |
path | yes | integer:int64 |
min: 1 | Loading visit ID. | 1001 |
||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockLoadingVisitPathLinkRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 5 |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 5
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Confirm cross-dock loading scan
| operationId | crossDockConfirmLoadingScan |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Confirms that the current target label for an order is loaded into the associated outbound visit.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/loading/scans" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockLoadingScanRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.loading_visit_id |
yes | integer:int64 |
min: 1 | 6101 |
||
data.order_id |
yes | integer:int64 |
min: 1 | 8101 |
||
data.label_barcode |
yes | string |
maxLength: 100 | "XD1.4301.2.signature" |
||
data.device_id |
no | string | null |
maxLength: 190 | "gate-tsd-01" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"loading_visit_id": 6101,
"order_id": 8101,
"label_barcode": "XD1.4301.2.signature"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Replace cross-dock handling-unit manifest
| operationId | crossDockReplaceHandlingUnitManifest |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Atomically replaces the declared SSCC or quant handling-unit manifest and validates barcode ownership and contents.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request PUT "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/manifest" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockReplaceManifestRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 3 |
||
data.handling_units |
yes | array<object> |
|
|||
data.handling_units[] |
no | object |
|
|||
data.handling_units[].barcode_kind |
yes | enum |
enum: sscc, quant | "sscc" |
||
data.handling_units[].barcode |
yes | string |
maxLength: 190 | "046012345678901234" |
||
data.handling_units[].hu_type |
no | enum | null |
enum: box, pallet, tote | "box" |
||
data.handling_units[].contents |
yes | array<object> |
minItems: 1 | |
||
data.handling_units[].contents[] |
no | object |
|
|||
data.handling_units[].contents[].product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data.handling_units[].contents[].quantity |
yes | number:float |
min: 0.0001 | 4 |
||
data.handling_units[].contents[].batch |
no | string | null |
maxLength: 100 | "LOT-2026" |
||
data.handling_units[].contents[].production_date |
no | string:date | null |
"2026-07-14" |
|||
data.handling_units[].contents[].expiration_date |
no | string:date | null |
"2027-01-15" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3,
"handling_units": [
{
"barcode_kind": "sscc",
"barcode": "046012345678901234",
"contents": [
{
"product_id": 1201,
"quantity": 4
}
]
}
]
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock orders
| operationId | crossDockListOrders |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock orders in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/orders" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 250 |
Number of records per page. Default is 50; maximum is 250. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
50 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, send_date, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
status_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by status_id using exact matching. The same filter may also be sent as filter[status_id] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<Order> |
|
|||
data[] |
no | Order |
Outbound warehouse order. Optional relation fields are present when loaded by the controller or requested through include. |
|
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].external_id |
no | string | null |
"ORD-100245" |
|||
data[].domain_id |
no | integer:int64 | null |
min: 1 | 3 |
||
data[].type_id |
no | integer:int64 | null |
1 |
|||
data[].shop_id |
no | integer:int64 | null |
min: 1 | 12 |
||
data[].warehouse_id |
no | integer:int64 | null |
min: 1 | 42 |
||
data[].status_id |
no | integer:int64 | null |
Order status ID. The current backend stores status records in the database; values are not modeled as a closed enum in the public contract. | 20 |
||
data[].status |
no | object | null |
|
|||
data[].status.id |
yes | integer:int64 |
20 |
|||
data[].status.name |
yes | string |
"Created" |
|||
data[].status.color |
no | string | null |
"#2457c5" |
|||
data[].status.background_color |
no | string | null |
"#eaf0ff" |
|||
data[].order_date |
no | string:date | null |
"2026-07-14" |
|||
data[].send_date |
no | string | null |
Stored order send date, potentially supplied by import, manual input or integration processing. It may be a date or date-time string; it is not a universal physical carrier-handover timestamp. | "2026-07-15 20:25:08" |
||
data[].source_id |
no | integer:int64 | null |
min: 1 | 1 |
||
data[].customer_type |
no | integer:int64 | null |
1 |
|||
data[].is_cod |
no | boolean |
true |
|||
data[].amounts |
no | OrderAmounts |
|
|||
data[].amounts.shipping_price |
no | number:float | null |
8.6 |
|||
data[].amounts.shipping_cost |
no | number:float | null |
0 |
|||
data[].amounts.sum |
no | number:float | null |
39.98 |
|||
data[].amounts.cod_sum |
no | number:float | null |
48.58 |
|||
data[].company_id |
no | integer:int64 | null |
min: 1 | 7 |
||
data[].marking |
yes | OrderMarking |
Marking data expected for products in the order. | |
||
data[].marking.required |
yes | boolean |
Whether the order contains products that require marking data after picking. | true |
||
data[].marking.types |
yes | array<string> |
Marking types required by products in the order. Currently chestny_znak; the list may gain values such as jewel_uin and imei. |
|
||
data[].marking.types[] |
no | string |
"chestny_znak" |
|||
data[].contact |
no | object | null |
|
|||
data[].contact.first_name |
no | string | null |
"Ivan" |
|||
data[].contact.middle_name |
no | string | null |
"Ivanovich" |
|||
data[].contact.last_name |
no | string | null |
"Petrov" |
|||
data[].contact.phone |
no | string | null |
"+359888123456" |
|||
data[].contact.email |
no | string:email | null |
"customer@example.com" |
|||
data[].contact.country_id |
no | integer:int64 | null |
min: 1 | 100 |
||
data[].contact.city_id |
no | integer:int64 | null |
min: 1 | 200 |
||
data[].contact.postcode |
no | string | null |
"1000" |
|||
data[].contact.latitude |
no | number:float | null |
min: -90 max: 90 |
42.6977 |
||
data[].contact.longitude |
no | number:float | null |
min: -180 max: 180 |
23.3219 |
||
data[].contact.full_address |
no | string | null |
"1 Vitosha Boulevard, Sofia" |
|||
data[].delivery |
no | object | null |
|
|||
data[].delivery.service_id |
no | integer:int64 | null |
min: 1 | 1 |
||
data[].delivery.delivery_type |
yes | enum | null |
enum: door, pickup_point | Normalized delivery channel derived from the configured delivery service. Null when the service type is unknown. | "door" |
|
data[].delivery.is_courier |
yes | boolean |
True for door delivery; false for pickup-point delivery or an unknown service type. | true |
||
data[].delivery.status |
no | string | null |
"created" |
|||
data[].delivery.track_number |
no | string | null |
"CDEK-123456789" |
|||
data[].delivery.pickup_point_id |
no | string | null |
"SOFIA-01" |
|||
data[].delivery.source_id |
no | string | null |
"cdek-15" |
|||
data[].delivery.tariff_code |
no | integer:int64 | null |
136 |
|||
data[].delivery.additional_services |
no | object |
Values of additional CDEK services configured for the selected integration. Boolean true enables a code-only service; other values are sent as the CDEK parameter. |
{"TRYING_ON":true,"PART_DELIV":false,"PACKAGE_1":2} |
||
data[].delivery.label |
no | string:uri | null |
"https://betawms.ffcdek.ru/labels/CDEK-123456789.pdf" |
|||
data[].delivery.delivery_date |
no | string:date | null |
"2026-07-16" |
|||
data[].delivery.delivery_time_start |
no | string:time | null |
"09:00:00Z" |
|||
data[].delivery.delivery_time_end |
no | string:time | null |
"18:00:00Z" |
|||
data[].comments |
no | object | null |
|
|||
data[].comments.delivery_service_text |
no | string | null |
"Call before delivery" |
|||
data[].comments.inner_text |
no | string | null |
"VIP customer" |
|||
data[].offers |
no | array<OrderLineEmbedded> |
|
|||
data[].offers[] |
no | OrderLineEmbedded |
Scalar lot fields use the actual lot only when the full line is picked from one lot; partial/multiple actual lots leave scalars null. Before picking they retain the requested lot. Requested constraints are always available in requested_lot. | |
||
data[].offers[].id |
yes | integer:int64 |
readOnly | min: 1 | 7001 |
|
data[].offers[].product_id |
no | integer:int64 | null |
min: 1 | 1201 |
||
data[].offers[].quantity |
no | number:float | null |
min: 0 | 2 |
||
data[].offers[].estimated_price |
no | number:float | null |
19.5 |
|||
data[].offers[].price |
no | number:float | null |
19.99 |
|||
data[].offers[].expiration_date |
no | string:date | null |
"2027-01-15" |
|||
data[].offers[].batch |
no | string | null |
maxLength: 15 | "LOT-2026" |
||
data[].offers[].operation_user_id |
no | integer:int64 | null |
min: 1 | 9 |
||
data[].offers[].product |
no | object | null |
|
|||
data[].offers[].product.id |
yes | integer:int64 |
readOnly | min: 1 | 1201 |
|
data[].offers[].product.name |
yes | string |
"Coffee 250g" |
|||
data[].offers[].product.external_id |
no | string | null |
"EXT-10045" |
|||
data[].offers[].reservation |
no | OrderReservationLine |
Reservation totals for one order line. | |
||
data[].offers[].reservation.required_qty |
yes | number:float |
3 |
|||
data[].offers[].reservation.reserved_qty |
yes | number:float |
1 |
|||
data[].offers[].reservation.unreserved_qty |
yes | number:float |
2 |
|||
data[].offers[].reservation.missing_qty |
yes | number:float |
2 |
|||
data[].offers[].reservation.status |
yes | enum |
enum: not_required, missing, partial, reserved | Reservation state calculated from the quantity required by the order and the quantity actually reserved. | "partial" |
|
data[].offers[].reservation_items |
no | array<OrderReservationItem> |
|
|||
data[].offers[].reservation_items[] |
no | OrderReservationItem |
Physical product or expanded component used to explain a reservation shortage. | |
||
data[].offers[].reservation_items[].offer_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].offers[].reservation_items[].offer_name |
no | string | null |
"Coffee 250g" |
|||
data[].offers[].reservation_items[].offer_article |
no | string | null |
"ART-001245" |
|||
data[].offers[].reservation_items[].offer_sku |
no | string | null |
"SKU-001245" |
|||
data[].offers[].reservation_items[].required_qty |
yes | number:float |
3 |
|||
data[].offers[].reservation_items[].reserved_qty |
yes | number:float |
1 |
|||
data[].offers[].reservation_items[].unreserved_qty |
yes | number:float |
2 |
|||
data[].offers[].reservation_items[].missing_qty |
yes | number:float |
2 |
|||
data[].offers[].reservation_items[].status |
yes | enum |
enum: not_required, missing, partial, reserved | Reservation state calculated from the quantity required by the order and the quantity actually reserved. | "partial" |
|
data[].offers[].reservation_items[].source_order_offer_ids |
yes | array<integer:int64> |
|
|||
data[].offers[].reservation_items[].source_order_offer_ids[] |
no | integer:int64 |
min: 1 | 7001 |
||
data[].offers[].reservation_items[].source |
yes | enum |
enum: order_offer, component, quant, composite_quant | "order_offer" |
||
data[].offers[].reservation_items[].expanded_from_composite |
yes | boolean |
false |
|||
data[].offers[].reservation_items[].expanded_from_quant |
yes | boolean |
false |
|||
data[].offers[].reservation_items[].quant_base_offer_id |
no | integer:int64 | null |
min: 1 | 1201 |
||
data[].offers[].reservation_items[].quant_base_multiplicity |
no | number:float | null |
6 |
|||
data[].offers[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].offers[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].offers[].production_date |
no | string:date | null |
"2026-01-15" |
|||
data[].offers[].requested_lot |
no | WarehouseLot |
|
|||
data[].offers[].requested_lot.batch |
yes | string | null |
"LOT-2026" |
|||
data[].offers[].requested_lot.production_date |
yes | string:date | null |
"2026-01-15" |
|||
data[].offers[].requested_lot.expiration_date |
yes | string:date | null |
"2027-01-15" |
|||
data[].offers[].picked_quantity |
no | number:float |
min: 0 | 2 |
||
data[].offers[].fulfillment_lots |
no | array<OrderFulfillmentLot> |
Current active placed warehouse rows for this exact order line and product. Existing orders are included where these rows survive. This is a current picking snapshot, not a historical shipment event. | |
||
data[].offers[].fulfillment_lots[] |
no | OrderFulfillmentLot |
|
|||
data[].offers[].fulfillment_lots[].batch |
yes | string | null |
"LOT-2026" |
|||
data[].offers[].fulfillment_lots[].production_date |
yes | string:date | null |
"2026-01-15" |
|||
data[].offers[].fulfillment_lots[].expiration_date |
yes | string:date | null |
"2027-01-15" |
|||
data[].offers[].fulfillment_lots[].warehouse_id |
yes | integer:int64 |
min: 1 | 734 |
||
data[].offers[].fulfillment_lots[].product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].offers[].fulfillment_lots[].quantity |
yes | number:float |
min: 0 | 2 |
||
data[].reservation |
no | OrderReservation |
Reservation readiness and shortages calculated for the order. | |
||
data[].reservation.ready |
yes | boolean |
false |
|||
data[].reservation.reason |
yes | string | null |
"Not all order products are reserved." |
|||
data[].reservation.expected_total |
yes | number:float |
3 |
|||
data[].reservation.reserved_total |
yes | number:float |
1 |
|||
data[].reservation.unreserved_total |
yes | number:float |
2 |
|||
data[].reservation.missing_total |
yes | number:float |
2 |
|||
data[].reservation.missing_items |
yes | array<OrderReservationItem> |
|
|||
data[].reservation.missing_items[] |
no | OrderReservationItem |
Physical product or expanded component used to explain a reservation shortage. | |
||
data[].reservation.missing_items[].offer_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].reservation.missing_items[].offer_name |
no | string | null |
"Coffee 250g" |
|||
data[].reservation.missing_items[].offer_article |
no | string | null |
"ART-001245" |
|||
data[].reservation.missing_items[].offer_sku |
no | string | null |
"SKU-001245" |
|||
data[].reservation.missing_items[].required_qty |
yes | number:float |
3 |
|||
data[].reservation.missing_items[].reserved_qty |
yes | number:float |
1 |
|||
data[].reservation.missing_items[].unreserved_qty |
yes | number:float |
2 |
|||
data[].reservation.missing_items[].missing_qty |
yes | number:float |
2 |
|||
data[].reservation.missing_items[].status |
yes | enum |
enum: not_required, missing, partial, reserved | Reservation state calculated from the quantity required by the order and the quantity actually reserved. | "partial" |
|
data[].reservation.missing_items[].source_order_offer_ids |
yes | array<integer:int64> |
|
|||
data[].reservation.missing_items[].source_order_offer_ids[] |
no | integer:int64 |
min: 1 | 7001 |
||
data[].reservation.missing_items[].source |
yes | enum |
enum: order_offer, component, quant, composite_quant | "order_offer" |
||
data[].reservation.missing_items[].expanded_from_composite |
yes | boolean |
false |
|||
data[].reservation.missing_items[].expanded_from_quant |
yes | boolean |
false |
|||
data[].reservation.missing_items[].quant_base_offer_id |
no | integer:int64 | null |
min: 1 | 1201 |
||
data[].reservation.missing_items[].quant_base_multiplicity |
no | number:float | null |
6 |
|||
data[].reservation.error |
yes | boolean |
false |
|||
data[].consumables |
no | array<OrderConsumable> |
|
|||
data[].consumables[] |
no | OrderConsumable |
Current consumable line, not an append-only consumption event. Unplaced usage creates a commitment but does not decrease physical stockTotal; do not treat that stockTotal as remaining packaging inventory. | |
||
data[].consumables[].id |
yes | integer:int64 |
min: 1 | 301 |
||
data[].consumables[].order_id |
yes | integer:int64 |
min: 1 | 8101 |
||
data[].consumables[].product_id |
yes | integer:int64 |
min: 1 | 1202 |
||
data[].consumables[].warehouse_id |
yes | integer:int64 | null |
min: 1 | 734 |
||
data[].consumables[].place_id |
yes | integer:int64 | null |
min: 1 | 501 |
||
data[].consumables[].quantity |
yes | number:float |
1 |
|||
data[].consumables[].stock_location_mode |
yes | enum |
enum: placed, unplaced | "unplaced" |
||
data[].consumables[].created_at |
yes | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].consumables[].updated_at |
yes | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].status_history |
no | array<OrderStatusHistoryEvent> |
Present only on GET list/detail with include=status_history. Ordered chronologically, retains repeat status cycles and combines surviving audit and action-log entries. Missing history returns an empty array. | |
||
data[].status_history[] |
no | OrderStatusHistoryEvent |
Recorded WMS status transition or explicitly inferred initial status. It does not independently confirm physical carrier handover. | |
||
data[].status_history[].status_id |
yes | integer:int64 |
130 |
|||
data[].status_history[].previous_status_id |
yes | integer:int64 | null |
110 |
|||
data[].status_history[].changed_at |
yes | string:date-time |
Time of the WMS status transition in ISO 8601 with an explicit timezone offset. | "2026-07-14T12:00:00+03:00" |
||
data[].status_history[].source |
yes | enum |
enum: audit, action_log, inferred | "action_log" |
||
data[].status_history[].inferred |
yes | boolean |
True only for a reconstructed initial status at order creation; this is not a separately recorded transition. | false |
||
data[].status_history_meta |
no | OrderStatusHistoryMeta |
|
|||
data[].status_history_meta.available |
yes | boolean |
At least one event is available. This does not guarantee complete historical coverage. | true |
||
data[].status_history_meta.current_status_matches_history |
yes | boolean |
The last available event has the current order status. False also when history is empty. | true |
||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 8101,
"external_id": "ORD-100245",
"domain_id": 3,
"type_id": 1,
"shop_id": 12,
"warehouse_id": 42,
"status_id": 20,
"status": {
"id": 20,
"name": "Created",
"color": "#2457c5",
"background_color": "#eaf0ff"
},
"order_date": "2026-07-14",
"send_date": "2026-07-15",
"source_id": 1,
"customer_type": 1,
"is_cod": true,
"amounts": {
"shipping_price": 8.6,
"shipping_cost": 0,
"sum": 39.98,
"cod_sum": 48.58
},
"company_id": 7,
"marking": {
"required": true,
"types": [
"chestny_znak"
]
},
"contact": {
"first_name": "Ivan",
"middle_name": null,
"last_name": "Petrov",
"phone": "+359888123456",
"email": "customer@example.com",
"country_id": 100,
"city_id": 200,
"postcode": "1000",
"latitude": 42.6977,
"longitude": 23.3219,
"full_address": "1 Vitosha Boulevard, Sofia"
},
"delivery": {
"service_id": 1,
"delivery_type": "door",
"is_courier": true,
"status": "created",
"track_number": "CDEK-123456789",
"source_id": "cdek-15",
"tariff_code": 136,
"label": "https://betawms.ffcdek.ru/labels/CDEK-123456789.pdf",
"delivery_date": "2026-07-16",
"delivery_time_start": "09:00:00Z",
"delivery_time_end": "18:00:00Z"
},
"comments": {
"delivery_service_text": "Call before delivery",
"inner_text": "VIP customer"
},
"offers": [
{
"id": 7001,
"product_id": 1201,
"quantity": 2,
"estimated_price": 19.5,
"price": 19.99,
"expiration_date": "2027-01-15",
"batch": "LOT-2026",
"operation_user_id": 9,
"product": {
"id": 1201,
"name": "Coffee 250g",
"external_id": "EXT-10045"
},
"created_at": "2026-07-14T09:00:00Z",
"updated_at": "2026-07-14T09:30:00Z"
}
],
"created_at": "2026-07-14T09:00:00Z",
"updated_at": "2026-07-14T09:30:00Z"
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/orders?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/orders?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/orders?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/orders",
"per_page": 50,
"to": 50,
"total": 73
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Create cross-dock order and target
| operationId | crossDockCreateOrderAndTarget |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Creates an outbound order in immutable cross-dock fulfillment mode together with its target and demand rows.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/orders" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockCreateOrderRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.external_id |
no | string | null |
maxLength: 50 | "ORD-XD-001" |
||
data.type_id |
yes | integer:int64 |
min: 1 | 1 |
||
data.group_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.shop_id |
no | integer:int64 | null |
min: 1 | 12 |
||
data.warehouse_id |
no | integer:int64 | null |
min: 1 | 43 |
||
data.send_date |
no | string:date | null |
"2026-07-14" |
|||
data.source_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.customer_type |
no | integer:int64 | null |
|
|||
data.company_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.is_cod |
no | boolean |
false |
|||
data.shipping_price |
no | number:float | null |
7.5 |
|||
data.shipping_cost |
no | number:float | null |
5.0 |
|||
data.crossdock_target |
no | object |
|
|||
data.crossdock_target.type |
no | enum | null |
enum: order, route, staging_lane, dispatch | "order" |
||
data.crossdock_target.name |
no | string | null |
maxLength: 190 | "Lane 7" |
||
data.crossdock_target.destination_ref |
no | string | null |
maxLength: 190 | "SOF" |
||
data.crossdock_target.carrier_ref |
no | string | null |
maxLength: 190 | "CDEK" |
||
data.crossdock_target.route_code |
no | string | null |
maxLength: 190 | "BG-SOF" |
||
data.crossdock_target.place_id |
no | integer:int64 | null |
min: 1 | 900 |
||
data.crossdock_target.priority |
no | integer:int64 | null |
100 |
|||
data.crossdock_target.cutoff_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.lines |
yes | array<object> |
minItems: 1 | |
||
data.lines[] |
no | object |
|
|||
data.lines[].product_id |
no | integer:int64 | null |
min: 1 | 1201 |
||
data.lines[].product_external_id |
no | string | null |
maxLength: 190 | "EXT-10045" |
||
data.lines[].quantity |
yes | number:float |
min: 0.0001 | 4 |
||
data.lines[].estimated_price |
no | number:float | null |
min: 0 | 19.99 |
||
data.lines[].price |
no | number:float | null |
min: 0 | 19.99 |
||
data.lines[].production_date |
no | string:date | null |
"2026-07-14" |
|||
data.lines[].expiration_date |
no | string:date | null |
"2027-01-15" |
|||
data.lines[].batch |
no | string | null |
maxLength: 15 | "LOT-2026" |
||
data.lines[].source_policy |
no | enum | null |
enum: crossdock_only, crossdock_then_stock, stock_allowed | "crossdock_only" |
||
data.lines[].external_line_id |
no | string | null |
maxLength: 190 | "LINE-1" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"type_id": 1,
"is_cod": false,
"lines": [
{
"quantity": 4
}
]
}
}
Responses
201 Created.
Created.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Plan cross-dock allocation
| operationId | crossDockPlanAllocation |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Calculates direct order allocations from eligible supply to demand using FIFO expiration, priority, and strategy version.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/plan" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockPlanRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 3 |
||
data.strategy_version |
yes | string |
maxLength: 50 | "fifo-v1" |
||
data.expected_plan_hash |
no | string | null |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3,
"strategy_version": "fifo-v1"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock print jobs
| operationId | crossDockListPrintJobs |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock print jobs in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/print-jobs" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, created_at, dispatched_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
label_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by label_id using exact matching. The same filter may also be sent as filter[label_id] where supported by the Laravel query adapter. |
1 |
target_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by target_id using exact matching. The same filter may also be sent as filter[target_id] where supported by the Laravel query adapter. |
1 |
status |
query | no | string |
form | true | Filter by status using exact matching. The same filter may also be sent as filter[status] where supported by the Laravel query adapter. |
"waiting" |
|
printer_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by printer_id using exact matching. The same filter may also be sent as filter[printer_id] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockPrintJob> |
|
|||
data[] |
no | CrossDockPrintJob |
Versioned target-label print job with dispatch and device acknowledgement. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
yes | string |
"01J2CROSSDOCKPRINTJOB001" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].target_id |
yes | integer:int64 |
min: 1 | 4301 |
||
data[].label_id |
yes | integer:int64 |
min: 1 | 4401 |
||
data[].status |
yes | string |
"ready" |
|||
data[].attempts |
yes | integer:int64 |
0 |
|||
data[].printer_id |
no | integer:int64 | null |
min: 1 | 55 |
||
data[].device_id |
no | string | null |
"gate-printer-1" |
|||
data[].artifact_ref |
no | string | null |
"crossdock/labels/4401.pdf" |
|||
data[].artifact_hash |
no | string | null |
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" |
|||
data[].last_error |
no | string | null |
"printer_offline" |
|||
data[].dispatched_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].acknowledged_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].version |
yes | integer:int64 |
1 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKPRINTJOB001",
"case_id": 4101,
"target_id": 4301,
"label_id": 4401,
"status": "ready",
"attempts": 0,
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/print-jobs?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/print-jobs?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/print-jobs?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/print-jobs",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Get crossdock
| operationId | listCrossdockCasesReadiness |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Get crossdock in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/readiness" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Release cross-dock plan
| operationId | crossDockReleasePlan |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Freezes the current plan hash, activates allocations and targets, and creates executable tasks and current labels.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/release" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockReleaseRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 4 |
||
data.plan_hash |
yes | string |
minLength: 64 maxLength: 64 |
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 4,
"plan_hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Run crossdock action
| operationId | createCrossdockCasesReturnToDraft |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Run crossdock action in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/return-to-draft" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockCommandRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
Operation-specific payload. Mutating commands require command_id; versioned aggregates also require the current version. |
|
||
data.command_id |
no | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.barcode |
no | string | null |
"4601234567890" |
|||
data.quantity |
no | number:float | null |
min: 0 | 5 |
||
data.reason |
no | string | null |
"Supervisor-approved operational action" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Get crossdock
| operationId | listCrossdockCasesScanSessions |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Get crossdock in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/scan-sessions" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Scan cross-dock source
| operationId | crossDockScanSource |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Recognizes a product, quant, or SSCC at the source place and opens a versioned device-bound scan session with a temporary stock hold.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/scans/source" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockSourceScanRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.barcode |
yes | string |
maxLength: 190 | "4601234567890" |
||
data.device_id |
yes | string |
maxLength: 190 | "tsd-01" |
||
data.source_place_id |
yes | integer:int64 |
min: 1 | 800 |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"barcode": "4601234567890",
"device_id": "tsd-01",
"source_place_id": 800
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Confirm cross-dock target scan
| operationId | crossDockConfirmTargetScan |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Validates the current target label, commits fulfillment and stock movements, consumes the hold, and advances the linked order.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/scans/target" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockTargetScanRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.scan_session_id |
yes | string |
maxLength: 190 | "01J2CROSSDOCKSESSION000001" |
||
data.version |
yes | integer:int64 |
min: 1 | 2 |
||
data.target_barcode |
yes | string |
maxLength: 255 | "XD1.4301.2.signature" |
||
data.device_id |
yes | string |
maxLength: 190 | "tsd-01" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"scan_session_id": "01J2CROSSDOCKSESSION000001",
"version": 2,
"target_barcode": "XD1.4301.2.signature",
"device_id": "tsd-01"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Run crossdock action
| operationId | createCrossdockCasesSubmit |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Run crossdock action in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/submit" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockCommandRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
Operation-specific payload. Mutating commands require command_id; versioned aggregates also require the current version. |
|
||
data.command_id |
no | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.barcode |
no | string | null |
"4601234567890" |
|||
data.quantity |
no | number:float | null |
min: 0 | 5 |
||
data.reason |
no | string | null |
"Supervisor-approved operational action" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock supplies
| operationId | crossDockListSupplies |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock supplies in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/supplies" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, product_id, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
product_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by product_id using exact matching. The same filter may also be sent as filter[product_id] where supported by the Laravel query adapter. |
1201 |
base_product_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by base_product_id using exact matching. The same filter may also be sent as filter[base_product_id] where supported by the Laravel query adapter. |
1200 |
acceptance_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by acceptance_id using exact matching. The same filter may also be sent as filter[acceptance_id] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockSupply> |
|
|||
data[] |
no | CrossDockSupply |
Inbound quantity available to the cross-dock planner. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].acceptance_id |
yes | integer:int64 |
min: 1 | 5101 |
||
data[].acceptance_line_id |
yes | integer:int64 |
min: 1 | 5201 |
||
data[].lineage_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data[].parent_supply_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].base_product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data[].quantity |
yes | number:float |
10 |
|||
data[].base_quantity |
yes | number:float |
10 |
|||
data[].received_quantity |
no | number:float |
10 |
|||
data[].received_base_quantity |
no | number:float |
10 |
|||
data[].eligible_base_quantity |
no | number:float |
10 |
|||
data[].allocated_base_quantity |
no | number:float |
8 |
|||
data[].executed_base_quantity |
no | number:float |
5 |
|||
data[].batch |
no | string | null |
"LOT-2026" |
|||
data[].production_date |
no | string:date | null |
"2026-07-14" |
|||
data[].expiration_date |
no | string:date | null |
"2027-01-15" |
|||
data[].quality_state |
no | string |
"accepted" |
|||
data[].external_line_id |
no | string | null |
"ASN-LINE-1" |
|||
data[].version |
yes | integer:int64 |
2 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"case_id": 4101,
"acceptance_id": 5101,
"acceptance_line_id": 5201,
"lineage_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"product_id": 1201,
"base_product_id": 1201,
"quantity": 10,
"base_quantity": 10,
"received_quantity": 10,
"received_base_quantity": 10,
"eligible_base_quantity": 10,
"allocated_base_quantity": 8,
"executed_base_quantity": 5,
"quality_state": "accepted",
"version": 2
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/supplies?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/supplies?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/supplies?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/supplies",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock targets
| operationId | crossDockListTargets |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock targets in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/targets" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, short_number, created_at. Default: short_number. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"short_number" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
status |
query | no | string |
form | true | Filter by status using exact matching. The same filter may also be sent as filter[status] where supported by the Laravel query adapter. |
"waiting" |
|
order_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by order_id using exact matching. The same filter may also be sent as filter[order_id] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockTarget> |
|
|||
data[] |
no | CrossDockTarget |
Physical sorting or dispatch destination for a cross-dock order. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
yes | string |
"01J2CROSSDOCKTARGET000001" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].order_id |
no | integer:int64 | null |
min: 1 | 8101 |
||
data[].type |
yes | enum |
enum: order, route, staging_lane, dispatch | "order" |
||
data[].short_number |
yes | integer:int64 |
7 |
|||
data[].name |
no | string | null |
"Lane 7" |
|||
data[].destination_ref |
no | string | null |
"SOF" |
|||
data[].carrier_ref |
no | string | null |
"CDEK" |
|||
data[].route_ref |
no | string | null |
"BG-SOF" |
|||
data[].place_id |
no | integer:int64 | null |
min: 1 | 900 |
||
data[].barcode_token_version |
no | integer:int64 |
2 |
|||
data[].current_label_id |
no | integer:int64 | null |
min: 1 | 4401 |
||
data[].status |
yes | string |
"ready" |
|||
data[].version |
yes | integer:int64 |
3 |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKTARGET000001",
"case_id": 4101,
"type": "order",
"short_number": 7,
"barcode_token_version": 2,
"status": "ready",
"version": 3
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/targets?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/targets?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/targets?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/targets",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Assign cross-dock target places
| operationId | crossDockAssignTargetPlaces |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Assign cross-dock target places in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request PUT "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/targets/places" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockAssignTargetPlacesRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 3 |
||
data.targets |
yes | array<object> |
minItems: 1 maxItems: 500 |
|
||
data.targets[] |
no | object |
|
|||
data.targets[].target_id |
yes | integer:int64 |
min: 1 | 4301 |
||
data.targets[].target_version |
yes | integer:int64 |
min: 1 | 2 |
||
data.targets[].target_place_id |
yes | integer:int64 |
min: 1 | 900 |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 3,
"targets": [
{
"target_id": 4301,
"target_version": 2,
"target_place_id": 900
}
]
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock tasks
| operationId | crossDockListTasks |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock tasks in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/cases/01J2CROSSDOCKCASE000000001/tasks" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
case |
path | yes | string |
Cross-dock case numeric ID or public ULID. | "01J2CROSSDOCKCASE000000001" |
|||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id, created_at. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
id |
query | no | integer:int64 |
form | true | min: 1 | Filter by id using exact matching. The same filter may also be sent as filter[id] where supported by the Laravel query adapter. |
1001 |
status |
query | no | string |
form | true | Filter by status using exact matching. The same filter may also be sent as filter[status] where supported by the Laravel query adapter. |
"waiting" |
|
type |
query | no | string |
form | true | Filter by type using exact matching. The same filter may also be sent as filter[type] where supported by the Laravel query adapter. |
"inbound" |
|
target_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by target_id using exact matching. The same filter may also be sent as filter[target_id] where supported by the Laravel query adapter. |
1 |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockTask> |
|
|||
data[] |
no | CrossDockTask |
Executable cross-dock warehouse task. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].public_id |
yes | string |
"01J2CROSSDOCKTASK0000001" |
|||
data[].case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data[].allocation_id |
no | integer:int64 | null |
min: 1 | 4501 |
||
data[].fulfillment_id |
no | integer:int64 | null |
min: 1 | 4801 |
||
data[].target_id |
no | integer:int64 | null |
min: 1 | 4301 |
||
data[].type |
yes | string |
"move" |
|||
data[].source_place_id |
no | integer:int64 | null |
min: 1 | 800 |
||
data[].target_place_id |
no | integer:int64 | null |
min: 1 | 900 |
||
data[].product_id |
no | integer:int64 | null |
min: 1 | 1201 |
||
data[].base_product_id |
no | integer:int64 | null |
min: 1 | 1201 |
||
data[].base_quantity |
no | number:float | null |
4 |
|||
data[].status |
yes | string |
"ready" |
|||
data[].lease_owner_id |
no | integer:int64 | null |
min: 1 | 25 |
||
data[].lease_until |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].active_scan_session_id |
no | integer:int64 | null |
min: 1 | 4901 |
||
data[].version |
yes | integer:int64 |
1 |
|||
data[].completed_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"public_id": "01J2CROSSDOCKTASK0000001",
"case_id": 4101,
"type": "move",
"status": "ready",
"version": 1
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/tasks?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/tasks?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/tasks?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/cases/4101/tasks",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Get cross-dock command status
| operationId | crossDockGetCommandStatus |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Returns the persisted idempotent command state and original result for recovery after a timeout.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/commands/4fe557e8-70f7-4b36-a124-d3afad4041d4" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
commandId |
path | yes | string:uuid |
Idempotent cross-dock command UUID. | "4fe557e8-70f7-4b36-a124-d3afad4041d4" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Resolve cross-dock exception
| operationId | crossDockResolveException |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Resolve cross-dock exception in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/exceptions/1001/resolve" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
exception |
path | yes | integer:int64 |
min: 1 | Cross-dock exception ID. | 1001 |
||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockResolveExceptionRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 1 |
||
data.decision |
yes | enum |
enum: resume, fallback_completed, manual_accept | "resume" |
||
data.reason |
no | string | null |
maxLength: 5000 | "Supervisor approved" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 1,
"decision": "resume"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
List cross-dock documents for loading visit
| operationId | crossDockListDocumentsForLoadingVisit |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
List cross-dock documents for loading visit in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
Unknown read parameters are ignored. per_page is silently capped; use meta.per_page. Date-only boundaries follow the installation's stored calendar dates; ISO timestamps are serialized in UTC. The default general API limit is 600/minute; a user-specific override may apply. Its bucket is shared by authenticated user, not by shop/domain; Retry-After is returned on throttling.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/loading-visits/1001/documents" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
visit |
path | yes | integer:int64 |
min: 1 | Loading visit ID. | 1001 |
||
page |
query | no | integer:int64 |
form | true | min: 1 | Page number. The same filter may also be sent as filter[page] where supported by the Laravel query adapter. |
1 |
per_page |
query | no | integer:int64 |
form | true | min: 1 max: 500 |
Number of records per page. Default is 100; maximum is 500. The same filter may also be sent as filter[per_page] where supported by the Laravel query adapter. |
100 |
sort |
query | no | string |
form | false | pattern: ^-?[A-Za-z0-9_]+(,-?[A-Za-z0-9_]+)*$ | Comma-separated sort fields. Prefix with - for descending order. Allowed fields: id. Default: id. The same filter may also be sent as filter[sort] where supported by the Laravel query adapter. |
"id" |
document_type |
query | no | string |
form | true | Filter by document_type using exact matching. The same filter may also be sent as filter[document_type] where supported by the Laravel query adapter. |
"acceptance" |
|
document_id |
query | no | integer:int64 |
form | true | min: 1 | Filter by document_id using exact matching. The same filter may also be sent as filter[document_id] where supported by the Laravel query adapter. |
5101 |
role |
query | no | string |
form | true | Filter by role using exact matching. The same filter may also be sent as filter[role] where supported by the Laravel query adapter. |
"outbound" |
|
status |
query | no | string |
form | true | Filter by status using exact matching. The same filter may also be sent as filter[status] where supported by the Laravel query adapter. |
"waiting" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | array<CrossDockLoadingAssociation> |
|
|||
data[] |
no | CrossDockLoadingAssociation |
Association between a cross-dock document and a loading visit. | |
||
data[].id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data[].created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data[].loading_visit_id |
yes | integer:int64 |
min: 1 | 6101 |
||
data[].document_type |
yes | string |
"order" |
|||
data[].document_id |
yes | integer:int64 |
min: 1 | 8101 |
||
data[].role |
yes | string |
"outbound" |
|||
data[].status |
yes | string |
"attached" |
|||
data[].created_by |
no | integer:int64 | null |
min: 1 | 25 |
||
data[].detached_by |
no | integer:int64 | null |
min: 1 | 1001 |
||
data[].detached_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data[].visit |
no | object | null |
|
|||
data[].visit.id |
yes | integer:int64 |
min: 1 | 6101 |
||
data[].visit.type |
yes | string |
"outbound" |
|||
data[].visit.status |
yes | string |
"approved" |
|||
data[].visit.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
data[].visit.gate_id |
no | integer:int64 | null |
min: 1 | 3 |
||
data[].visit.planned_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
links |
yes | PaginationLinks |
|
|||
links.first |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=1" |
|||
links.last |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
links.prev |
yes | string:uri | null |
|
|||
links.next |
yes | string:uri | null |
"https://betawms.ffcdek.ru/api/v2/orders?page=2" |
|||
meta |
yes | PaginationMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.current_page |
yes | integer:int32 |
min: 1 | 1 |
||
meta.from |
yes | integer:int32 | null |
min: 1 | 1 |
||
meta.last_page |
yes | integer:int32 |
min: 1 | 2 |
||
meta.path |
yes | string:uri |
"https://betawms.ffcdek.ru/api/v2/orders" |
|||
meta.per_page |
yes | integer:int32 |
min: 1 | 50 |
||
meta.to |
yes | integer:int32 | null |
min: 1 | 50 |
||
meta.total |
yes | integer:int32 |
min: 0 | 73 |
Response examples
success
{
"data": [
{
"id": 1001,
"loading_visit_id": 6101,
"document_type": "order",
"document_id": 8101,
"role": "outbound",
"status": "attached"
}
],
"links": {
"first": "https://betawms.ffcdek.ru/api/v2/crossdock/loading-visits/6101/documents?page=1",
"last": "https://betawms.ffcdek.ru/api/v2/crossdock/loading-visits/6101/documents?page=2",
"prev": null,
"next": "https://betawms.ffcdek.ru/api/v2/crossdock/loading-visits/6101/documents?page=2"
},
"meta": {
"api_version": "v2",
"current_page": 1,
"from": 1,
"last_page": 2,
"path": "https://betawms.ffcdek.ru/api/v2/crossdock/loading-visits/6101/documents",
"per_page": 100,
"to": 100,
"total": 123
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Acknowledge cross-dock print job
| operationId | crossDockAcknowledgePrintJob |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Acknowledge cross-dock print job in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/print-jobs/1001/acknowledge" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
job |
path | yes | integer:int64 |
min: 1 | Cross-dock print job ID. | 1001 |
||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockAcknowledgePrintJobRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 2 |
||
data.success |
yes | boolean |
true |
|||
data.artifact_hash |
no | string | null |
minLength: 64 maxLength: 64 |
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" |
||
data.error |
no | string | null |
maxLength: 5000 | "printer_offline" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 2,
"success": true
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Dispatch cross-dock print job
| operationId | crossDockDispatchPrintJob |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Dispatch cross-dock print job in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/print-jobs/1001/dispatch" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
job |
path | yes | integer:int64 |
min: 1 | Cross-dock print job ID. | 1001 |
||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockDispatchPrintJobRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 1 |
||
data.printer_id |
no | integer:int64 | null |
min: 1 | 55 |
||
data.device_id |
no | string | null |
maxLength: 190 | "gate-printer-1" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 1
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Get cross-dock scan session
| operationId | crossDockGetScanSession |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Get cross-dock scan session in the isolated cross-dock execution context.
The result is restricted to the authenticated API v2 tenant scope. Collection endpoints support the documented filters, sorting, and pagination.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request GET "${NWMS_BASE_URL}/api/v2/crossdock/scan-sessions/01J2CROSSDOCKSESSION000001" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}"Parameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
session |
path | yes | string |
Cross-dock scan session numeric ID or public ULID. | "01J2CROSSDOCKSESSION000001" |
Request body
No request body.
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockScanSession |
Device-bound source scan session waiting for quantity or target confirmation. | |
||
data.id |
yes | integer:int64 |
readOnly | min: 1 | 1001 |
|
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.public_id |
yes | string |
"01J2CROSSDOCKSESSION000001" |
|||
data.case_id |
yes | integer:int64 |
min: 1 | 4101 |
||
data.task_id |
yes | integer:int64 |
min: 1 | 4551 |
||
data.allocation_id |
yes | integer:int64 |
min: 1 | 4501 |
||
data.target_id |
yes | integer:int64 |
min: 1 | 4301 |
||
data.device_id |
yes | string |
"tsd-01" |
|||
data.source_place_id |
yes | integer:int64 |
min: 1 | 800 |
||
data.recognized_type |
yes | enum |
enum: product, quant, sscc | "product" |
||
data.handling_unit_id |
no | integer:int64 | null |
min: 1 | 1001 |
||
data.product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data.base_product_id |
yes | integer:int64 |
min: 1 | 1201 |
||
data.quantity_mode |
no | string |
"manual" |
|||
data.scanned_base_quantity |
no | number:float |
1 |
|||
data.confirmed_base_quantity |
no | number:float |
4 |
|||
data.status |
yes | string |
"awaiting_target" |
|||
data.version |
yes | integer:int64 |
2 |
|||
data.expires_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.committed_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.cancelled_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.next_action |
no | string | null |
"scan_target" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 1001,
"public_id": "01J2CROSSDOCKSESSION000001",
"case_id": 4101,
"task_id": 4551,
"allocation_id": 4501,
"target_id": 4301,
"device_id": "tsd-01",
"source_place_id": 800,
"recognized_type": "product",
"product_id": 1201,
"base_product_id": 1201,
"quantity_mode": "manual",
"scanned_base_quantity": 1,
"confirmed_base_quantity": 4,
"status": "awaiting_target",
"version": 2
},
"meta": {
"api_version": "v2"
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Cancel cross-dock scan session
| operationId | crossDockCancelScanSession |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Cancel cross-dock scan session in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/scan-sessions/01J2CROSSDOCKSESSION000001/cancel" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
session |
path | yes | string |
Cross-dock scan session numeric ID or public ULID. | "01J2CROSSDOCKSESSION000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockCancelScanSessionRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 1 |
||
data.device_id |
yes | string |
maxLength: 190 | "tsd-01" |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 1,
"device_id": "tsd-01"
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
Set cross-dock scan quantity
| operationId | crossDockSetScanQuantity |
|---|---|
| Tag | Cross-docking |
| Security | bearerAuth |
Set cross-dock scan quantity in the isolated cross-dock execution context.
Send an API v2 data envelope and an Idempotency-Key header. Mutations are idempotent by command_id; versioned aggregates reject stale version values with 409.
HTTP request example (cURL)
Set your server and token. Replace sample IDs with accessible IDs. For requests with a body, save the applicable JSON example below as request.json and replace sample values before sending. Idempotency-Key identifies one logical operation.
curl --globoff --request POST "${NWMS_BASE_URL}/api/v2/crossdock/scan-sessions/01J2CROSSDOCKSESSION000001/quantity" \
--header "Accept: application/json" \
--header "Authorization: Bearer ${NWMS_TOKEN}" \
--header "Idempotency-Key: ${NWMS_REQUEST_KEY}" \
--header "Content-Type: application/json" \
--data-binary @request.jsonParameters
| Name | In | Required | Type | Style | Explode | Constraints | Description | Example |
|---|---|---|---|---|---|---|---|---|
session |
path | yes | string |
Cross-dock scan session numeric ID or public ULID. | "01J2CROSSDOCKSESSION000001" |
|||
Idempotency-Key |
header | no | string |
maxLength: 191 | Optional idempotency key for API v2 write requests. Successful 2xx/3xx responses are replayed for the same key and identical payload for one day. The same key with a different payload returns 409. |
"ord-create-20260714-001" |
Request body
CrossDockSetScanQuantityRequest required
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | object |
|
|||
data.command_id |
yes | string:uuid |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.version |
yes | integer:int64 |
min: 1 | 1 |
||
data.device_id |
yes | string |
maxLength: 190 | "tsd-01" |
||
data.quantity |
yes | integer:int64 |
min: 1 | 4 |
Request examples
default
{
"data": {
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"version": 1,
"device_id": "tsd-01",
"quantity": 4
}
}
Responses
200 Successful response.
Successful response.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
data |
yes | CrossDockResource |
Cross-dock resource. The concrete fields depend on the selected case subresource; unknown future fields are preserved for forward compatibility. | |
||
data.id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.public_id |
no | string | null |
"01J2CROSSDOCKCASE000000001" |
|||
data.case_id |
no | integer:int64 | null |
min: 1 | 4101 |
||
data.status |
no | string | null |
"released" |
|||
data.state |
no | string | null |
"open" |
|||
data.version |
no | integer:int64 | null |
min: 1 | 3 |
||
data.command_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
data.correlation_id |
no | string:uuid | null |
"a3fd7025-9284-4db6-9aaf-70845b9d6ad4" |
|||
data.created_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
data.updated_at |
no | string:date-time | null |
"2026-07-14T10:30:00Z" |
|||
meta |
yes | ResponseMeta |
|
|||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.deleted |
no | boolean |
true |
|||
meta.id |
no | integer:int64 | null |
min: 1 | 1001 |
||
meta.command_replayed |
no | boolean |
True when an idempotent cross-dock command returned the original successful result. | false |
||
meta.crossdock_configuration |
no | object | null |
|
|||
meta.crossdock_configuration.physical_warehouse_id |
yes | integer:int64 |
min: 1 | 42 |
||
meta.crossdock_configuration.enabled |
yes | boolean |
true |
|||
meta.crossdock_configuration.process_version |
yes | string |
"direct_order_v1" |
Response examples
success
{
"data": {
"id": 4101,
"public_id": "01J2CROSSDOCKCASE000000001",
"status": "released",
"version": 3,
"command_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"correlation_id": "a3fd7025-9284-4db6-9aaf-70845b9d6ad4"
},
"meta": {
"api_version": "v2"
}
}
400 Bad request
CrossDockBadRequest
Bad request.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
BAD_REQUEST
{
"message": "Bad request.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "BAD_REQUEST",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
401 Authentication required
CrossDockUnauthorized
Authentication is required.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
AUTH_REQUIRED
{
"message": "Authentication is required.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "AUTH_REQUIRED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
403 Forbidden
CrossDockForbidden
The authenticated account is not allowed to perform this action.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
FORBIDDEN
{
"message": "The authenticated account is not allowed to perform this action.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "FORBIDDEN",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
404 Not found
CrossDockNotFound
The requested resource was not found or is outside the authenticated account scope.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
NOT_FOUND
{
"message": "The requested resource was not found or is outside the authenticated account scope.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "NOT_FOUND",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
409 Conflict
CrossDockConflict
The request conflicts with the current aggregate version or command state.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
CROSSDOCK_VERSION_CONFLICT
{
"message": "The request conflicts with the current aggregate version or command state.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "CROSSDOCK_VERSION_CONFLICT",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
422 Validation error
CrossDockValidationError
The given data was invalid.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
VALIDATION_ERROR
{
"message": "The given data was invalid.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "VALIDATION_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
429 Rate limit exceeded
CrossDockTooManyRequests
Rate limit exceeded.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
RATE_LIMITED
{
"message": "Rate limit exceeded.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "RATE_LIMITED",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}
500 Internal server error
CrossDockInternalServerError
An unexpected server error occurred.
| Field | Required | Type | Flags | Constraints | Description | Example |
|---|---|---|---|---|---|---|
message |
yes | string |
"Cross-docking is disabled for the selected client warehouse." |
|||
errors |
yes | object |
{"warehouse_id":["Enable cross-docking in the client warehouse settings."]} |
|||
meta |
yes | CrossDockErrorMeta |
API v2 error metadata for the isolated cross-dock command contract. | |
||
meta.api_version |
yes | enum |
enum: v2 | "v2" |
||
meta.error_code |
yes | string |
"CROSSDOCK_WAREHOUSE_DISABLED" |
|||
meta.correlation_id |
no | string:uuid | null |
"4fe557e8-70f7-4b36-a124-d3afad4041d4" |
|||
meta.details |
no | object |
{"physical_warehouse_id":42,"client_warehouse_id":43,"shop_id":12} |
Response examples
INTERNAL_SERVER_ERROR
{
"message": "An unexpected server error occurred.",
"errors": {
},
"meta": {
"api_version": "v2",
"error_code": "INTERNAL_SERVER_ERROR",
"correlation_id": "4fe557e8-70f7-4b36-a124-d3afad4041d4",
"details": {
}
}
}