Get Product Purchase Order Lines
GET/api/v2/products/:product/purchase-order-lines
Get purchase order lines for a product, filtered by status.
products:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token.
Excludes draft purchase orders. With status=inbound, on an opening-balance purchase order unreceived_quantity is only the quantity on open inbound shipments (the rest was received before the inventory start date), and a line with nothing on an open shipment is left out.
Each row carries an effective ETA (eta) describing when the stock is expected to arrive. When the line is packed onto an inbound shipment that is still arriving (planned, in transit, or partially received), the earliest such shipment's expected arrival date wins and eta_source is inbound_shipment, with eta_shipment_id and eta_shipment_number identifying it. Otherwise the purchase order's own estimated delivery date is used and eta_source is purchase_order. When neither is set, eta and eta_source are null.
Rows with status=inbound are returned ordered by eta ascending, with undated rows last, so the next stock to land is first.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.