E113: Get purchase order detail
GET /api/purchase-orders/:id
Returns a single PO with everything the detail page needs to render in one round-trip. Triggered by clicking a PO in the list.
Authentication
Standard tenant route. Requires Authorization: Bearer <firebase-id-token> and X-Org-Id: <org-id>. Access: Member.
Request
No body.
Response — 200 OK
{
"purchaseOrder": PurchaseOrder,
"vendor": { "id": "uuid", "name": "..." },
"shipToLocation": { "id": "uuid", "name": "..." },
"items": [ PurchaseOrderItem, ... ],
"receipts": [ Receipt, ... ],
"receivedTotals": [ { "poItemId": "uuid", "received": 100, "expected": 100 } ]
}
Denormalizes vendor, ship-to location, items, receipts, and per-item received totals so the Detail page renders without extra calls. The base PurchaseOrder, PurchaseOrderItem, and Receipt shapes match the schemas on E111 / E117 / E122.
Errors
| HTTP | code | Condition |
|---|---|---|
| 404 | not_found | No such PO. |