콘텐츠로 이동

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 <token> 형식의 Bearer 인증 헤더입니다. <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
}