---
search:
  tags:
    - PurchaseOrders
    - GET
seo:
  description: >-
    Admin, branch manager, or auditor. Returns one order with its… Reference for
    the GET /api/v1/purchase-orders/{purchaseOrderId} endpoint in the PharmaFlow
    API.
sidebar:
  label: Read a purchase order
  badge: GET
title: Read a purchase order
type: openapi-operation
---
Admin, branch manager, or auditor. Returns one order with its items and agreed unit costs. An unknown order id is refused with 404 rather than answered with an empty document.

`GET /api/v1/purchase-orders/{purchaseOrderId}`

**Responses**

- `200` — The purchase order and its items
- `401` — Not authenticated
- `403` — Access forbidden for this role
- `404` — PO not found

Response example, 200:

```json
{
  "id": "string",
  "supplier_id": "string",
  "branch_id": "string",
  "status": "string",
  "expected_date": "string",
  "notes": "string",
  "created_by": "string",
  "created_at": "string",
  "updated_at": "string",
  "supplier_name": "string",
  "branch_name": "string",
  "created_by_name": "string",
  "item_count": -9007199254740991,
  "items": [
    {
      "id": "string",
      "po_id": "string",
      "medicine_id": "string",
      "ordered_qty": -9007199254740991,
      "agreed_unit_cost": "string",
      "medicine_name": "string"
    }
  ]
}
```
