Ir al contenido

Get a purchase order by order number

Looks up a purchase order by order number and returns the same payload as the by-id endpoint.

Whitespace is ignored and letters are uppercased.

GEThttps://rest.boxhero-app.com/v1/purchase-orders/by-number/{order_number}
Authorizationstringobligatorio

Encabezado de autenticación Bearer con el formato Bearer <token>, donde <token> es tu token de API.

order_numberstringobligatorio

Order number. Whitespace is ignored and letters are uppercased. Use only letters, numbers, hyphens, and underscores.

200The requested purchase order.
itemPurchaseOrderobligatorio

A purchase order with lines, per-item fulfillment progress, linked transactions, and custom fields.

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Order id.

order_numberstringobligatorio

Order number.

order_timestringdate-timeobligatorio

Order date/time.

estimated_timestringdate-time, nullableobligatorio

Estimated fulfillment date/time.

statusstringobligatorio

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

Valores posiblesdraftconfirmedin-progressdone

partnerEntitynullableobligatorio

Supplier for purchase orders or customer for sales orders.

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Id of the referenced entity.

namestringobligatorio

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

deletedbooleanobligatorio

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

total_pricestringobligatorio

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_codestringnullableobligatorio

ISO currency code, or null when unset.

memostringobligatorio

Free-text memo. Empty string when not set.

revisionintegerminimum -9007199254740991, maximum 9007199254740991obligatorio

Optimistic-concurrency version.

created_byEntityobligatorio

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.

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Id of the referenced entity.

namestringobligatorio

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

deletedbooleanobligatorio

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

created_atstringdate-timeobligatorio

Server-side creation timestamp.

updated_atstringdate-timeobligatorio

Last edit timestamp, or creation timestamp when never edited.

urlstringuriobligatorio

Web URL to view this order in the BoxHero app.

tagsarray of stringobligatorio

Read-only tags parsed from the memo.

custom_fieldsarray of objectobligatorio

Ordered custom field name-value pairs.

Mostrar propiedades
namestringobligatorio
valuestringobligatorio
itemsarray of PurchaseOrderLineobligatorio

Detailed order lines.

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Order line id.

rankintegerminimum -9007199254740991, maximum 9007199254740991obligatorio

Line rank in the order.

itemExtendedItemEntitynullableobligatorio

Set when the line references a single item.

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Item or bundle id.

namestringobligatorio

Display name.

skustringobligatorio

SKU. Empty string when unset.

barcodestringobligatorio

Barcode. Empty string when unset.

deletedbooleanobligatorio

Whether the underlying item or bundle is deleted.

bundleExtendedItemEntitynullableobligatorio

Set when the line references a bundle.

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Item or bundle id.

namestringobligatorio

Display name.

skustringobligatorio

SKU. Empty string when unset.

barcodestringobligatorio

Barcode. Empty string when unset.

deletedbooleanobligatorio

Whether the underlying item or bundle is deleted.

pricestringobligatorio

Unit price as stored on the line.

quantitynumberobligatorio

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

tax_namestringnullableobligatorio

Tax name, or null when no tax is applied.

tax_ratestringnullableobligatorio

Tax rate as a percentage string.

tax_inclusivebooleannullableobligatorio

Whether the stored line price includes tax.

discount_namestringnullableobligatorio

Discount name, or null when no discount is applied.

discount_typestringnullableobligatorio

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

Valores posiblespercentamount

discount_valuestringnullableobligatorio

Discount percentage or absolute amount.

subtotalstringobligatorio

price * quantity before discount and tax.

discount_amountstringobligatorio

Discount amount applied to this line.

tax_amountstringobligatorio

Inclusive plus exclusive tax amount for this line.

totalstringobligatorio

Final line total after discount and exclusive tax.

costsarray of OrderCostobligatorio

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

Mostrar propiedades
namestringobligatorio

Cost name.

amountstringobligatorio

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 9007199254740991obligatorio

Cost rank in the order.

tx_itemsarray of FulfillmentTxItemobligatorio

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

Mostrar propiedades
itemExtendedItemEntityobligatorio

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

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Item or bundle id.

namestringobligatorio

Display name.

skustringobligatorio

SKU. Empty string when unset.

barcodestringobligatorio

Barcode. Empty string when unset.

deletedbooleanobligatorio

Whether the underlying item or bundle is deleted.

ordered_quantitynumberobligatorio

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

fulfilled_quantitynumberobligatorio

Absolute quantity already fulfilled or received for this item.

pending_quantitynumberobligatorio

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

transactionsarray of OrderTransactionSummaryobligatorio

Inventory transactions linked to this order.

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Location transaction id.

typestringobligatorio

Fulfillment direction of an order-linked transaction.

Valores posiblesinout

transaction_timestringdate-timeobligatorio

Effective transaction time.

to_locationEntityobligatorio

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.

Mostrar propiedades
idintegerminimum 0, maximum 2147483647obligatorio

Id of the referenced entity.

namestringobligatorio

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

deletedbooleanobligatorio

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

count_of_itemsintegerminimum 0, maximum 9007199254740991obligatorio
total_quantitynumberobligatorio

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

401Missing or invalid API token.
idstringobligatorio

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.

typestringobligatorio

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

titlestringobligatorio

Human-readable summary of the error, in English.

correlationIDstringobligatorio

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.

instancestringobligatorio

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.

Mostrar propiedades
patharray of string | numberobligatorio
messagestringobligatorio
404No purchase order with the given order number was found in this team.
idstringobligatorio

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.

typestringobligatorio

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

titlestringobligatorio

Human-readable summary of the error, in English.

correlationIDstringobligatorio

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.

instancestringobligatorio

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.

Mostrar propiedades
patharray of string | numberobligatorio
messagestringobligatorio
429Rate limit exceeded. Check RateLimit, Retry-After, and X-RateLimit-* response headers before retrying.
idstringobligatorio

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.

typestringobligatorio

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

titlestringobligatorio

Human-readable summary of the error, in English.

correlationIDstringobligatorio

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.

instancestringobligatorio

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.

Mostrar propiedades
patharray of string | numberobligatorio
messagestringobligatorio

Solicitud

Terminal window
curl --request GET \
--url 'https://rest.boxhero-app.com/v1/purchase-orders/by-number/{order_number}' \
--header "Authorization: Bearer $BOXHERO_API_TOKEN"

Respuesta

{
"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
}
]
}
}