---
title: "Changes to Create PurchaseOrder record"
method: POST
path: "/public/v1/purchase-orders/"
---

# Changes to Create PurchaseOrder record

`POST /public/v1/purchase-orders/`

> Every recorded change to this endpoint, newest first.
> 27 revisions in range; 1 not diffed.

## Timeline

Changed in 7 of 27 revisions.

- **2026-09-26** `c4df6bca164b` — 2 info
- **2026-09-22** `fb10bea0128b` — 10 info
- **2026-09-18** `c7c58bf49281` — 11 info
- **2026-09-01** `9201740fc0dd` — 1 info
- **2026-08-22** `db5c5da9869c` — 1 breaking, 9 info
- **2026-08-12** `af0ec77e5277` — 1 info
- **2026-08-05** `77cd3c6ec719` — 2 info

## Changes

- **2026-09-26** `c4df6bca164b` — 2 info
  - added the optional property `code` to the response with the `200` status
  - added the optional property `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/rate_description` to the response with the `200` status
- **2026-09-22** `fb10bea0128b` — 10 info
  - added the new optional request property `items/items/billable_customer_id`
  - added the new optional request property `items/items/billable_markup_pct`
  - added the new optional request property `items/items/billable_project_id`
  - added the new optional request property `items/items/is_billable`
  - added the optional property `items/items/billable_customer_id` to the response with the `200` status
  - added the optional property `items/items/billable_customer_name` to the response with the `200` status
  - added the optional property `items/items/billable_markup_pct` to the response with the `200` status
  - added the optional property `items/items/billable_project_id` to the response with the `200` status
  - added the optional property `items/items/billable_project_name` to the response with the `200` status
  - added the optional property `items/items/is_billable` to the response with the `200` status
- **2026-09-18** `c7c58bf49281` — 11 info
  - added the new optional request property `expected_location_id`
  - added the new optional request property `items/items/expected_location_id`
  - added the new optional request property `ship_from_address`
  - added the new optional request property `ship_to_address`
  - added the new optional request property `tax_metadata`
  - added the optional property `expected_location_id` to the response with the `200` status
  - added the optional property `expected_location_name` to the response with the `200` status
  - added the optional property `items/items/expected_location_id` to the response with the `200` status
  - added the optional property `items/items/expected_location_name` to the response with the `200` status
  - added the optional property `ship_from_address` to the response with the `200` status
  - added the optional property `ship_to_address` to the response with the `200` status
- **2026-09-01** `9201740fc0dd` — 1 info
  - added the required property `lifecycle_status` to the response with the `200` status
- **2026-08-22** `db5c5da9869c` — 1 breaking, 9 info
  - the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response's property type changed from `string` to no type for status `200`
  - added `#/components/schemas/GstComponentType, #/components/schemas/TaxFamily` to the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property `anyOf` list for the response status `200`
  - removed the `CESS` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `CGST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `GST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `HST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `IGST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `PST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `QST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `SGST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
- **2026-08-12** `af0ec77e5277` — 1 info
  - added the new optional `header` request parameter `Idempotency-Key`
- **2026-08-05** `77cd3c6ec719` — 2 info
  - added the new optional request property `items/items/tax/anyOf[subschema #1: ItemTaxData]/tax_metadata`
  - added the optional property `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_metadata` to the response with the `200` status

---

[Operation](https://skmtc.dev/dualentry/apis/dualentry-public-api-2/docs/public/v1/purchase-orders/post.md) · [API](https://skmtc.dev/dualentry/apis/dualentry-public-api-2.md) · [Page](https://skmtc.dev/dualentry/apis/dualentry-public-api-2/changes/public/v1/purchase-orders/post)
