ข้ามไปยังเนื้อหา

Get a purchase order

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

Use /v1/purchase-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/purchase-orders/{order_id}
Authorizationstringจำเป็น

เฮดเดอร์การยืนยันตัวตนแบบ Bearer ในรูปแบบ Bearer <token> โดย <token> คือ โทเค็น API ของคุณ

order_idintegerminimum 0, maximum 2147483647จำเป็น

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

200The requested purchase order.
itemPurchaseOrderจำเป็น

A purchase order with lines, 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 PurchaseOrderLineจำเป็น

Detailed order lines.

แสดงพร็อพเพอร์ตี
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.

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 purchase 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/purchase-orders/{order_id}' \
--header "Authorization: Bearer $BOXHERO_API_TOKEN"

การตอบกลับ

{
"item": {
"id": 90101,
"order_number": "PO-1001",
"order_time": "2026-01-15T09:30:00.000Z",
"estimated_time": "2026-01-20T00:00:00.000Z",
"status": "confirmed",
"partner": {
"id": 431485,
"name": "Acme Supply Co.",
"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/purchase-orders/90101",
"tags": [
"restock"
],
"custom_fields": [],
"items": [
{
"id": 700101,
"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"
},
{
"id": 700102,
"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"
}
],
"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": "in",
"transaction_time": "2026-01-16T11:00:00.000Z",
"to_location": {
"id": 47041,
"name": "Warehouse",
"deleted": false
},
"count_of_items": 1,
"total_quantity": 100
}
]
}
}