コンテンツにスキップ

Get a sales order

Returns a sales order by id, with lines, sales-return totals, per-item fulfillment progress, and linked stock transactions.

Use /v1/sales-orders/by-number/{order_number} for lookup by order number. Per-line pending quantity is not available because fulfillment transactions are tracked per item.

GEThttps://rest.boxhero-app.com/v1/sales-orders/{order_id}
Authorizationstring必須

Bearer <token> 形式の Bearer 認証ヘッダーです。<token> には APIトークン を指定します。

order_idintegerminimum 0, maximum 2147483647必須

Order id. Use GET /orders/by-number/{order_number} to look up by order number.

200The requested sales order.
itemSalesOrder必須

A sales order with lines, per-line sales-return totals, per-item fulfillment progress, linked transactions, and custom fields.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Order id.

order_numberstring必須

Order number.

order_timestringdate-time必須

Order date/time.

estimated_timestringdate-time, nullable必須

Estimated fulfillment date/time.

statusstring必須

Order status. Purchase and sales orders may also be draft.

指定可能な値draftconfirmedin-progressdone

partnerEntitynullable必須

Supplier for purchase orders or customer for sales orders.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Id of the referenced entity.

namestring必須

Display name of the entity at the time the transaction was recorded.

deletedboolean必須

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

total_pricestring必須

Cached order total as a decimal string: the sum of the line totals plus any additional costs. Does not equal the sum of items[].total when the order carries costs.

currency_codestringnullable必須

ISO currency code, or null when unset.

memostring必須

Free-text memo. Empty string when not set.

revisionintegerminimum -9007199254740991, maximum 9007199254740991必須

Optimistic-concurrency version.

created_byEntity必須

Reference to a related entity (location, partner, or user) embedded in a transaction. The snapshot is captured at transaction time and does not update if the source entity is later renamed or removed.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Id of the referenced entity.

namestring必須

Display name of the entity at the time the transaction was recorded.

deletedboolean必須

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

created_atstringdate-time必須

Server-side creation timestamp.

updated_atstringdate-time必須

Last edit timestamp, or creation timestamp when never edited.

urlstringuri必須

Web URL to view this order in the BoxHero app.

tagsarray of string必須

Read-only tags parsed from the memo.

custom_fieldsarray of object必須

Ordered custom field name-value pairs.

プロパティを表示
namestring必須
valuestring必須
itemsarray of SalesOrderLine必須

Detailed order lines, including per-line sales-return totals.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Order line id.

rankintegerminimum -9007199254740991, maximum 9007199254740991必須

Line rank in the order.

itemExtendedItemEntitynullable必須

Set when the line references a single item.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Item or bundle id.

namestring必須

Display name.

skustring必須

SKU. Empty string when unset.

barcodestring必須

Barcode. Empty string when unset.

deletedboolean必須

Whether the underlying item or bundle is deleted.

bundleExtendedItemEntitynullable必須

Set when the line references a bundle.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Item or bundle id.

namestring必須

Display name.

skustring必須

SKU. Empty string when unset.

barcodestring必須

Barcode. Empty string when unset.

deletedboolean必須

Whether the underlying item or bundle is deleted.

pricestring必須

Unit price as stored on the line.

quantitynumber必須

Quantity. May include up to four decimal places in core data.

tax_namestringnullable必須

Tax name, or null when no tax is applied.

tax_ratestringnullable必須

Tax rate as a percentage string.

tax_inclusivebooleannullable必須

Whether the stored line price includes tax.

discount_namestringnullable必須

Discount name, or null when no discount is applied.

discount_typestringnullable必須

Discount type. "percent" is a 0-100 percentage; "amount" is an absolute amount.

指定可能な値percentamount

discount_valuestringnullable必須

Discount percentage or absolute amount.

subtotalstring必須

price * quantity before discount and tax.

discount_amountstring必須

Discount amount applied to this line.

tax_amountstring必須

Inclusive plus exclusive tax amount for this line.

totalstring必須

Final line total after discount and exclusive tax.

return_quantitynumber必須

Quantity already returned across this order’s sales returns.

return_amountstring必須

Amount already returned across this order’s sales returns.

costsarray of OrderCost必須

Additional costs attached to the order, ordered by rank. Included in total_price but not in any items[] figure.

プロパティを表示
namestring必須

Cost name.

amountstring必須

Cost amount. Negative for a deduction such as a prepayment. Additional costs carry no tax or discount, so the amount is the final value.

rankintegerminimum -9007199254740991, maximum 9007199254740991必須

Cost rank in the order.

tx_itemsarray of FulfillmentTxItem必須

Per-item fulfillment progress. Bundle lines are exploded and duplicate items are collapsed.

プロパティを表示
itemExtendedItemEntity必須

Reference to an item or bundle embedded in order, return, transaction, and bundle component responses.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Item or bundle id.

namestring必須

Display name.

skustring必須

SKU. Empty string when unset.

barcodestring必須

Barcode. Empty string when unset.

deletedboolean必須

Whether the underlying item or bundle is deleted.

ordered_quantitynumber必須

Ordered or returned quantity for this item. Bundle lines are exploded into component quantities and duplicate items are collapsed.

fulfilled_quantitynumber必須

Absolute quantity already fulfilled or received for this item.

pending_quantitynumber必須

Remaining quantity for this item, clamped to zero when over-fulfilled.

transactionsarray of OrderTransactionSummary必須

Inventory transactions linked to this order.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Location transaction id.

typestring必須

Fulfillment direction of an order-linked transaction.

指定可能な値inout

transaction_timestringdate-time必須

Effective transaction time.

to_locationEntity必須

Reference to a related entity (location, partner, or user) embedded in a transaction. The snapshot is captured at transaction time and does not update if the source entity is later renamed or removed.

プロパティを表示
idintegerminimum 0, maximum 2147483647必須

Id of the referenced entity.

namestring必須

Display name of the entity at the time the transaction was recorded.

deletedboolean必須

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

count_of_itemsintegerminimum 0, maximum 9007199254740991必須
total_quantitynumber必須

Quantity. May include up to four decimal places in core data.

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必須
404No sales order with the given id or number 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必須
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 GET \
--url 'https://rest.boxhero-app.com/v1/sales-orders/{order_id}' \
--header "Authorization: Bearer $BOXHERO_API_TOKEN"

レスポンス

{
"item": {
"id": 90201,
"order_number": "SO-2001",
"order_time": "2026-01-15T09:30:00.000Z",
"estimated_time": "2026-01-20T00:00:00.000Z",
"status": "confirmed",
"partner": {
"id": 431488,
"name": "Northwind Retail",
"deleted": false
},
"total_price": "2187.56",
"currency_code": "USD",
"memo": "",
"revision": 3,
"created_by": {
"id": 1001,
"name": "John Smith",
"deleted": false
},
"created_at": "2026-01-15T09:30:00.000Z",
"updated_at": "2026-01-15T09:30:00.000Z",
"url": "https://app.boxhero-app.com/sales-orders/90201",
"tags": [
"wholesale"
],
"custom_fields": [],
"items": [
{
"id": 700201,
"rank": 0,
"item": {
"id": 14290445,
"name": "Finish Setting Powder",
"sku": "SKU-12345678",
"barcode": "2097678335587",
"deleted": false
},
"bundle": null,
"price": "19.99",
"quantity": 100,
"tax_name": null,
"tax_rate": null,
"tax_inclusive": null,
"discount_name": null,
"discount_type": null,
"discount_value": null,
"subtotal": "1999.00",
"discount_amount": "0.00",
"tax_amount": "0.00",
"total": "1999.00",
"return_quantity": 5,
"return_amount": "99.95"
},
{
"id": 700202,
"rank": 1,
"item": {
"id": 14290446,
"name": "Hydrating Face Toner",
"sku": "SKU-12345679",
"barcode": "2097678335588",
"deleted": false
},
"bundle": null,
"price": "12.50",
"quantity": 20,
"tax_name": "Sales Tax",
"tax_rate": "8.25",
"tax_inclusive": false,
"discount_name": "Volume discount",
"discount_type": "percent",
"discount_value": "10",
"subtotal": "250.00",
"discount_amount": "25.00",
"tax_amount": "18.56",
"total": "243.56",
"return_quantity": 0,
"return_amount": "0.00"
}
],
"costs": [
{
"name": "Shipping fee",
"amount": "45.00",
"rank": 0
},
{
"name": "Prepayment",
"amount": "-100.00",
"rank": 1
}
],
"tx_items": [
{
"item": {
"id": 14290445,
"name": "Finish Setting Powder",
"sku": "SKU-12345678",
"barcode": "2097678335587",
"deleted": false
},
"ordered_quantity": 100,
"fulfilled_quantity": 60,
"pending_quantity": 40
},
{
"item": {
"id": 14290446,
"name": "Hydrating Face Toner",
"sku": "SKU-12345679",
"barcode": "2097678335588",
"deleted": false
},
"ordered_quantity": 20,
"fulfilled_quantity": 20,
"pending_quantity": 0
}
],
"transactions": [
{
"id": 14012345,
"type": "out",
"transaction_time": "2026-01-16T11:00:00.000Z",
"to_location": {
"id": 47041,
"name": "Warehouse",
"deleted": false
},
"count_of_items": 1,
"total_quantity": 100
}
]
}
}