list purchase orders
A page of purchase orders for one organisation: number, order type, status, supplier, destination location, order and expected delivery dates, total cost and line count, with filtered_max_size for the size of the filtered set. Header figures only, so call get_purchase_order for one order's line quantities and its deliveries.
organization_id in the path must be the key's own organisation; a key naming another one is refused organization_mismatch. Page with limit and offset, narrow with filter_args on status, supplier_id, location_id, date_created, date_drafted, delivery_date, total_cost and has_supplier_updates, and order with sort_args over expected_delivery_date, name and quantity_to_manufacture.
Filter the expected delivery date under the key delivery_date. expected_delivery_date is not a filter key: sent as one it is ignored rather than refused, and every order comes back.
Statuses: Drafted, FullyConfirmed, InProduction, FullyShipped, FullyDelivered, Completed, Cancelled.
on_hold says whether a row is held and hold_reason why, in the holder's own words. A hold with no reason is refused, so hold_reason is set whenever on_hold is true and null otherwise. A held order refuses every status advance but cancellation. The full log of who acted and why is status_audit on get_purchase_order, not here.
Scope: purchase_orders:read.
Request
- Base URL: https://api.app.tightly.io
- URL: https://api.app.tightly.io/api/v1/organizations/{organization_id}/purchase-orders
- Auth: HTTP bearer
Path parameters
The organisation. On the key path it must be the key's own organisation. A key naming another one is refused organization_mismatch rather than quietly served its own rows.
Query parameters
Pagination limit (defaults to 10 when neither limit nor offset is provided)
Pagination offset
JSON array of filter conditions. Each filter includes: - key: Field to filter (e.g., id, supplier_id, location_id, status, adjustment_needed_for, date_created, date_drafted, delivery_date, total_cost, has_supplier_updates) - operation: Filter operation (eq, in, gt, gte, lt, lte, etc.) - value: Filter value (can be a string, number, or array) - group: Optional. Grouping logic for the filter (and or or, defaults to and).
[
{
"group": "and",
"key": "status",
"operation": "eq",
"value": "Drafted"
},
{
"group": "or",
"key": "supplier_id",
"operation": "eq",
"value": "supplier123"
}
]Comma-separated list of sort arguments. Valid sort fields: expected_delivery_date, name, quantity_to_manufacture. Prefix with "+" for ascending or "-" for descending order. If not provided, defaults to sorting by date_created in descending order.
Search term to filter purchase orders
Headers
The date train to answer on. One train exists today, 2026-11, the one this reference describes and the one every key is minted on, so the call answers on it with or without this header. Send it anyway, so a client built now names its train from the start.
Response
A page of purchase orders
Changes
No recorded changes to this operation across all 1 revision of this API.