Перейти к содержимому

Receive purchase order quantities

Creates a partial fulfillment transaction for a purchase order.

Quantities are positive; the transaction direction is Stock In. The target location_id must be covered by the team’s plan.

POSThttps://rest.boxhero-app.com/v1/purchase-orders/{order_id}/transactions
Authorizationstringобязательный

Заголовок аутентификации Bearer в формате Bearer <token>, где <token> — ваш API-токен.

order_idintegerminimum 0, maximum 2147483647обязательный
location_idintegerminimum 0, maximum 2147483647обязательный
transaction_timestringdate-time
memostringmax length 2000
itemsarray of objectобязательный
Показать свойства
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.

quantitynumberобязательный

Positive quantity; direction is derived by resource.

revisionintegerminimum 0, maximum 9007199254740991
201The created transaction’s id.
idintegerminimum 0, maximum 2147483647обязательный

Created location transaction id.

401Missing or invalid API token.
idstringобязательный

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.

typestringобязательный

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

Возможные значения/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

titlestringобязательный

Human-readable summary of the error, in English.

correlationIDstringобязательный

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.

instancestringобязательный

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.

Показать свойства
patharray of string | numberобязательный
messagestringобязательный
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.
idstringобязательный

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.

typestringобязательный

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

Возможные значения/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

titlestringобязательный

Human-readable summary of the error, in English.

correlationIDstringобязательный

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.

instancestringобязательный

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.

Показать свойства
patharray of string | numberобязательный
messagestringобязательный
404No purchase order with the given id was found in this team.
idstringобязательный

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.

typestringобязательный

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

Возможные значения/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

titlestringобязательный

Human-readable summary of the error, in English.

correlationIDstringобязательный

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.

instancestringобязательный

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.

Показать свойства
patharray of string | numberобязательный
messagestringобязательный
409The supplied revision is stale.
idstringобязательный

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.

typestringобязательный

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

Возможные значения/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

titlestringобязательный

Human-readable summary of the error, in English.

correlationIDstringобязательный

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.

instancestringобязательный

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.

Показать свойства
patharray of string | numberобязательный
messagestringобязательный
429Rate limit exceeded. Check RateLimit, Retry-After, and X-RateLimit-* response headers before retrying.
idstringобязательный

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.

typestringобязательный

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

Возможные значения/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

titlestringобязательный

Human-readable summary of the error, in English.

correlationIDstringобязательный

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.

instancestringобязательный

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.

Показать свойства
patharray of string | numberобязательный
messagestringобязательный

Запрос

Terminal window
curl --request POST \
--url 'https://rest.boxhero-app.com/v1/purchase-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
}'

Ответ

{
"id": 14012345
}