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

Create a bundle

Creates a bundle from existing items.

Bundles cannot contain other bundles and do not create stock on their own.

POSThttps://rest.boxhero-app.com/v1/bundles
Authorizationstringобязательный

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

namestringmin length 1, max length 255обязательный

Bundle display name.

skustringmin length 1, max length 255обязательный

Stock Keeping Unit. Must be unique across active bundles in the team.

barcodestringmax length 255

Primary bundle barcode.

photo_urlstringmax length 2048

Public URL of the bundle photo.

memostringmax length 2000

Free-text memo.

coststring

Cost per bundle, as a decimal string.

pricestring

Selling price per bundle, as a decimal string.

componentsarray of objectобязательный

Component list. When provided on update, this replaces the full component list.

Показать свойства
item_idintegerminimum 0, maximum 2147483647

Component item id. Mutually exclusive with item_sku.

item_skustringmin length 1, max length 255

Component item SKU (case-insensitive). Mutually exclusive with item_id.

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

Quantity of this item required per bundle.

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

Id of the newly created bundle.

400Request validation failed, such as duplicate SKU or duplicate/invalid component items.
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обязательный
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обязательный
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/bundles' \
--header "Authorization: Bearer $BOXHERO_API_TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"name": "Starter kit",
"sku": "BUNDLE-STARTER",
"barcode": "8801234567890",
"cost": "12.50",
"price": "29.99",
"components": [
{
"item_id": 14290445,
"quantity": 1
},
{
"item_id": 14290446,
"quantity": 2
}
]
}'

Ответ

{
"id": 4042
}