---
title: "POST /PurchaseOrders/{id}/items"
method: POST
path: "/PurchaseOrders/{id}/items"
tags: ["PurchaseOrders"]
---

# POST /PurchaseOrders/{id}/items

`POST /PurchaseOrders/{id}/items`

## Request

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

## Path parameters

- `id` string, required

## Request body

- AddPurchaseOrderItemDto
  - `inventoryItemId` string
  - `quantityOrdered` union
    - number, double
    - string, double
  - `unitCost` union
    - number, double
    - string, double
  - `vatCategory` string, nullable: Optional UK VAT category for a VAT-mode clinic. Omit to take it from the supplier's own product data (NVS's VAT code) or else the item's VAT category.

## Response `200`

OK

- 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

## Changes

- **2026-10-28** `099cf36186e0`: 9 info
  - added the new optional request property `vatCategory` (media type: application/json)
  - added the new optional request property `vatCategory` (media type: text/json)
  - added the new optional request property `vatCategory` (media type: application/*+json)
  - added the optional property `vatAmount` to the response with the `200` status (media type: text/plain)
  - …5 more

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/PurchaseOrders/:id/items/post.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)
