---
title: "Get a list of purchase orders with optional filters"
method: GET
path: "/PurchaseOrders"
tags: ["PurchaseOrders"]
---

# Get a list of purchase orders with optional filters

`GET /PurchaseOrders`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/PurchaseOrders`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/PurchaseOrders/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `status` string
- `vendorId` string
- `fromDate` string, date-time
- `toDate` string, date-time

## Response `200`

OK

- PurchaseOrderListResponseDto
  - `data` PurchaseOrderDto[]
    - `id` string
    - `overdraftSettlements` OverdraftSettlementDto[]: On a receive response only: what each received line paid off of its item's open overdraft lot (ITE-1410). Empty otherwise.
      - `overdraftLotId` string
      - `sourceLotId` string, nullable: The lot whose stock paid it; null for a write-off by stock count.
      - `quantity` union
        - number, double
        - string, double
      - `overdraftBalance` union: The overdraft lot's balance afterwards; 0 means it is settled and closed.
        - number, double
        - string, double
      - `dispenseCount` union
        - integer
        - string, int32
      - `firstDispensedAt` string, date-time, nullable
      - `lastDispensedAt` string, date-time, nullable
    - `overdraftSettlementApprovalIds` string[]: Review mode (ITE-1410): the overdraft-settlement approvals this receive filed instead of settling. Empty in Automatic mode.
    - `orderNumber` string
    - `vendorId` string
    - `vendor` VendorSummaryDto
      - `id` string
      - `name` string
      - `code` string, nullable
    - `status` string
    - `orderDate` string, date-time
    - `expectedDeliveryDate` string, date-time, nullable
    - `receivedDate` string, date-time, nullable
    - `subTotal` union
      - number, double
      - string, double
    - `taxAmount` union
      - number, double
      - string, double
    - `shippingAmount` union
      - number, double
      - string, double
    - `totalAmount` union
      - number, double
      - string, double
    - `externalOrderNumber` string, nullable
    - `trackingNumber` string, nullable
    - `notes` string, nullable
    - `createdBy` DEAUserSummaryDto
      - `id` string
      - `displayName` string
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `email` string
    - `approvedBy` DEAUserSummaryDto
      - `id` string
      - `displayName` string
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `email` string
    - `items` PurchaseOrderItemDto[]
      - `id` string
      - `purchaseOrderId` string
      - `inventoryItemId` string
      - `inventoryItem` InventoryItemSummaryDto
        - `id` string
        - `name` string
        - `sku` string, nullable
        - `category` string
        - `trackLots` boolean
        - `totalOnHand` union
          - integer
          - string, int32
        - `reorderPoint` union
          - integer
          - string, int32
      - `quantityOrdered` union
        - number, double
        - string, double
      - `quantityReceived` union
        - number, double
        - string, double
      - `quantityBackordered` union
        - number, double
        - string, double
      - `unitCost` union
        - number, double
        - string, double
      - `lineTotal` union
        - number, double
        - string, double
      - `vatCategory` string, nullable: UK VAT category (standard/reduced/zero/exempt) for VAT-mode clinics; null otherwise.
      - `vatAmount` union: Input VAT on the line. 0 outside VAT mode.
        - number, double
        - string, double
      - `lotNumber` string, nullable
      - `expirationDate` string, date-time, nullable
      - `containerId` string, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `totalCount` union
    - integer
    - string, int32

## Other responses

- `400`: Bad Request

## Changes

- **2026-10-28** `099cf36186e0`: 6 info
  - added the optional property `data/items/items/items/vatAmount` to the response with the `200` status (media type: text/plain)
  - added the optional property `data/items/items/items/vatAmount` to the response with the `200` status (media type: application/json)
  - added the optional property `data/items/items/items/vatAmount` to the response with the `200` status (media type: text/json)
  - added the optional property `data/items/items/items/vatCategory` to the response with the `200` status (media type: text/plain)
  - …2 more
- **2026-10-21** `85ee96c0bb96`: 6 info
  - added the optional property `data/items/overdraftSettlementApprovalIds` to the response with the `200` status (media type: text/plain)
  - added the optional property `data/items/overdraftSettlementApprovalIds` to the response with the `200` status (media type: application/json)
  - added the optional property `data/items/overdraftSettlementApprovalIds` to the response with the `200` status (media type: text/json)
  - added the optional property `data/items/overdraftSettlements` to the response with the `200` status (media type: text/plain)
  - …2 more

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/PurchaseOrders/get.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
