Skip to main content
Version: v1.0.0(int)

E112: List purchase orders

GET /api/purchase-orders

Returns PO header rows for the Purchase Orders page, hydrated with vendor name and both cost rollups so the page can render expected and actual totals without a follow-up call. Filters are supplied by the caller.

Authentication

Standard tenant route. Requires Authorization: Bearer <firebase-id-token> and X-Org-Id: <org-id>. Access: Member.

Request

Query params: cursor pagination (?cursor=&limit=) plus optional filters:

ParamTypeNotes
statusstringStatus name.
vendorIduuid
targetType"materials" | "finished_goods"
qstringFree-text on poNumber / notes / vendor name.
orderDateFrom / orderDateTodateInclusive bounds.

Response — 200 OK

{
"data": [ { "id": "uuid", "poNumber": "PO-2026-0042", "vendor": { "id": "uuid", "name": "..." }, "status": "Planning", "orderDate": "...", "costs": 1234.56, "lineCount": 5 } ],
"nextCursor": null
}

List rows include a denormalized vendor summary and lineCount to spare a follow-up call for the index page.

Errors

Standard envelope only.

Workflow

Calls W112 List purchase orders.