Create a price list
Creates a price list with at least one line item.
Each item provides exactly one of item_id, item_sku, bundle_id, or bundle_sku, plus a price.
https://rest.boxhero-app.com/v1/price-listsAutorización
Sección titulada «Autorización»Encabezado de autenticación Bearer con el formato Bearer <token>, donde <token> es tu token de API.
Cuerpo de la solicitud
Sección titulada «Cuerpo de la solicitud»"purchase" for purchase price lists; "sales" for sales price lists. A price list is tied to one order type.
Valores posiblespurchasesales
Price list display name.
ISO 4217 currency code.
Line items. At least one is required.
Mostrar propiedades
Existing item id. Mutually exclusive with item_sku, bundle_id, bundle_sku.
Item SKU (case-insensitive). Mutually exclusive with item_id, bundle_id, bundle_sku.
Existing bundle id. Mutually exclusive with item_id, item_sku, bundle_sku.
Bundle SKU (case-sensitive). Mutually exclusive with item_id, item_sku, bundle_id.
Unit price for this line.
Respuestas
Sección titulada «Respuestas»201The created price list’s id.
Id of the newly created price list.
400Request validation failed, an item/bundle reference was not found, or the same item/bundle appears more than once.
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.
Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.
Valores posibles/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
Human-readable summary of the error, in English.
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.
Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.
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.
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.
Mostrar propiedades
401Missing or invalid API token.
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.
Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.
Valores posibles/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
Human-readable summary of the error, in English.
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.
Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.
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.
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.
Mostrar propiedades
429Rate limit exceeded. Check RateLimit, Retry-After, and X-RateLimit-* response headers before retrying.
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.
Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.
Valores posibles/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
Human-readable summary of the error, in English.
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.
Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.
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.
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.
Mostrar propiedades
Solicitud
curl --request POST \ --url 'https://rest.boxhero-app.com/v1/price-lists' \ --header "Authorization: Bearer $BOXHERO_API_TOKEN" \ --header 'Content-Type: application/json' \ --data '{ "order_type": "sales", "name": "Wholesale prices", "currency_code": "USD", "items": [ { "item_sku": "SKU-12345678", "price": "12.50" }, { "bundle_id": 4042, "price": "30" } ] }'const response = await fetch("https://rest.boxhero-app.com/v1/price-lists", { method: "POST", headers: { Authorization: `Bearer ${process.env.BOXHERO_API_TOKEN}`, "Content-Type": "application/json", }, body: JSON.stringify({ "order_type": "sales", "name": "Wholesale prices", "currency_code": "USD", "items": [ { "item_sku": "SKU-12345678", "price": "12.50" }, { "bundle_id": 4042, "price": "30" } ] }),});const data = await response.json();import osimport requests
response = requests.post( "https://rest.boxhero-app.com/v1/price-lists", headers={ "Authorization": "Bearer " + os.environ["BOXHERO_API_TOKEN"], }, json={ "order_type": "sales", "name": "Wholesale prices", "currency_code": "USD", "items": [ { "item_sku": "SKU-12345678", "price": "12.50", }, { "bundle_id": 4042, "price": "30", }, ], },)data = response.json()POST /v1/price-lists HTTP/1.1Host: rest.boxhero-app.comAuthorization: Bearer <token>Content-Type: application/json
{ "order_type": "sales", "name": "Wholesale prices", "currency_code": "USD", "items": [ { "item_sku": "SKU-12345678", "price": "12.50" }, { "bundle_id": 4042, "price": "30" } ]}Respuesta
{ "id": 81023}{ "id": "ex_8f5c0c8e-0e0a-4a3c-9b3f-4f2c4f6c8d2a", "correlationID": "01J9X8K9XZ4ZWV9T8MQ8B7H7C2", "type": "/errors/invalid-request", "title": "Request validation failed, an item/bundle reference was not found, or the same item/bundle appears more than once.", "instance": "/price-lists"}{ "id": "ex_8f5c0c8e-0e0a-4a3c-9b3f-4f2c4f6c8d2a", "correlationID": "01J9X8K9XZ4ZWV9T8MQ8B7H7C2", "type": "/errors/tokens/required", "title": "Missing API token. Provide a Bearer token in the Authorization header.", "example": "Bearer wqnot0dlysdg5vymubzi4kiv"}{ "id": "ex_8f5c0c8e-0e0a-4a3c-9b3f-4f2c4f6c8d2a", "correlationID": "01J9X8K9XZ4ZWV9T8MQ8B7H7C2", "type": "/errors/too-many-requests", "title": "Too many requests.", "instance": "/price-lists", "retryAfter": 60}