List purchase orders
Returns a cursor-paginated list of active purchase orders.
Line items, fulfillment progress, tags, and custom fields are available from the single-order endpoint.
https://rest.boxhero-app.com/v1/purchase-ordersBearer <token> 形式の Bearer 認証ヘッダーです。<token> には APIトークン を指定します。
クエリパラメータ
Section titled “クエリパラメータ”Filter by one or more order statuses.
Filter by partner id.
Filter by exact order number. Whitespace is ignored and letters are uppercased.
Filter by tags with all-match semantics.
Filter by order_time >= this timestamp.
Filter by order_time < this timestamp.
Filter by estimated_time >= this timestamp.
Filter by estimated_time < this timestamp.
Filter by creator member id.
Page cursor. Pass the cursor field from the previous response to fetch the next page. Omit on the first call.
Page size. Accepts 1–100; defaults to 100.
200A page of purchase orders.
Items in this page. Default ordering is by id ascending; see the resource’s list endpoint description for any per-resource overrides.
プロパティを表示
Order id.
Order number.
Order date/time.
Estimated fulfillment date/time.
Order status. Purchase and sales orders may also be draft.
指定可能な値draftconfirmedin-progressdone
Supplier for purchase orders or customer for sales orders.
プロパティを表示
Id of the referenced entity.
Display name of the entity at the time the transaction was recorded.
true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.
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.
ISO currency code, or null when unset.
Free-text memo. Empty string when not set.
Optimistic-concurrency version.
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.
プロパティを表示
Id of the referenced entity.
Display name of the entity at the time the transaction was recorded.
true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.
Server-side creation timestamp.
Last edit timestamp, or creation timestamp when never edited.
Web URL to view this order in the BoxHero app.
Number of order lines.
Sum of ordered quantities. Bundle lines are exploded into component item quantities.
Number of items in this page (items.length).
Page size used to build this response.
Cursor to pass as cursor in the next request. null when has_more is false.
True when another page is available. The cursor is monotonic — pass it as cursor on the next request to advance the page. Direction follows each resource’s ordering (default: id ascending).
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.
指定可能な値/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.
プロパティを表示
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.
指定可能な値/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.
プロパティを表示
リクエスト
curl --request GET \ --url 'https://rest.boxhero-app.com/v1/purchase-orders' \ --header "Authorization: Bearer $BOXHERO_API_TOKEN"const response = await fetch("https://rest.boxhero-app.com/v1/purchase-orders", { method: "GET", headers: { Authorization: `Bearer ${process.env.BOXHERO_API_TOKEN}`, },});const data = await response.json();import osimport requests
response = requests.get( "https://rest.boxhero-app.com/v1/purchase-orders", headers={ "Authorization": "Bearer " + os.environ["BOXHERO_API_TOKEN"], },)data = response.json()GET /v1/purchase-orders HTTP/1.1Host: rest.boxhero-app.comAuthorization: Bearer <token>レスポンス
{ "items": [ { "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", "count_of_items": 2, "total_quantity": 120 } ], "count": 1, "limit": 100, "cursor": 90101, "has_more": false}{ "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": "/purchase-orders", "retryAfter": 60}