Zum Inhalt springen

Ship sales order quantities

Creates a partial fulfillment transaction for a sales order.

Public quantities are positive; the core payload is recorded as Stock Out. The target location_id must be covered by the team’s plan. Stock is allowed to go negative if the requested quantity exceeds on-hand.

POSThttps://rest.boxhero-app.com/v1/sales-orders/{order_id}/transactions
Authorizationstringerforderlich

Bearer-Authentifizierungsheader im Format Bearer <token>, wobei <token> Ihr API-Token ist.

order_idintegerminimum 0, maximum 2147483647erforderlich
location_idintegerminimum 0, maximum 2147483647erforderlich
transaction_timestringdate-time
memostringmax length 2000
itemsarray of objecterforderlich
Eigenschaften anzeigen
item_idintegerminimum 0, maximum 2147483647

Item id to fulfill. Mutually exclusive with item_sku. Bundles cannot be fulfilled.

item_skustringmin length 1, max length 255

Item SKU to fulfill (case-insensitive). Mutually exclusive with item_id.

quantitynumbererforderlich

Positive quantity; direction is derived by resource.

revisionintegerminimum 0, maximum 9007199254740991
201The created transaction’s id.
idintegerminimum 0, maximum 2147483647erforderlich

Created location transaction id.

401Missing or invalid API token.
idstringerforderlich

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringerforderlich

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Mögliche Werte/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringerforderlich

Human-readable summary of the error, in English.

correlationIDstringerforderlich

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. Pass an X-Correlation-Id request header to thread your trace through to ours.

instancestringerforderlich

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on /errors/invalid-request (400) responses. Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Eigenschaften anzeigen
patharray of string | numbererforderlich
messagestringerforderlich
402The team is over its location plan limit — it has more locations than the current plan covers (for example, extra locations kept after a downgrade), so this stock write is blocked. The limit is team-wide, so targeting a different location does not help; upgrade the plan or remove excess locations to continue.
idstringerforderlich

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringerforderlich

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Mögliche Werte/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringerforderlich

Human-readable summary of the error, in English.

correlationIDstringerforderlich

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. Pass an X-Correlation-Id request header to thread your trace through to ours.

instancestringerforderlich

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on /errors/invalid-request (400) responses. Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Eigenschaften anzeigen
patharray of string | numbererforderlich
messagestringerforderlich
404No sales order with the given id was found in this team.
idstringerforderlich

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringerforderlich

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Mögliche Werte/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringerforderlich

Human-readable summary of the error, in English.

correlationIDstringerforderlich

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. Pass an X-Correlation-Id request header to thread your trace through to ours.

instancestringerforderlich

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on /errors/invalid-request (400) responses. Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Eigenschaften anzeigen
patharray of string | numbererforderlich
messagestringerforderlich
409The supplied revision is stale.
idstringerforderlich

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringerforderlich

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Mögliche Werte/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringerforderlich

Human-readable summary of the error, in English.

correlationIDstringerforderlich

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. Pass an X-Correlation-Id request header to thread your trace through to ours.

instancestringerforderlich

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on /errors/invalid-request (400) responses. Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Eigenschaften anzeigen
patharray of string | numbererforderlich
messagestringerforderlich
429Rate limit exceeded. Check RateLimit, Retry-After, and X-RateLimit-* response headers before retrying.
idstringerforderlich

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringerforderlich

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Mögliche Werte/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringerforderlich

Human-readable summary of the error, in English.

correlationIDstringerforderlich

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. Pass an X-Correlation-Id request header to thread your trace through to ours.

instancestringerforderlich

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on /errors/invalid-request (400) responses. Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Eigenschaften anzeigen
patharray of string | numbererforderlich
messagestringerforderlich

Anfrage

Terminal window
curl --request POST \
--url 'https://rest.boxhero-app.com/v1/sales-orders/{order_id}/transactions' \
--header "Authorization: Bearer $BOXHERO_API_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"location_id": 47041,
"transaction_time": "2026-01-16T11:00:00.000Z",
"memo": "Partial receipt",
"items": [
{
"item_sku": "SKU-12345678",
"quantity": 60
}
],
"revision": 3
}'

Antwort

{
"id": 14012345
}