Purchase Orders

Add a purchase order item

Adds an item to a draft or rejected purchase order. Other statuses return 409 po_invalid_status. Requires an Idempotency-Key.

post/purchase-orders/{purchaseOrderId}/items

Request

  • Base URL: https://next-api.saturation.io/v1
  • URL: https://next-api.saturation.io/v1/purchase-orders/{purchaseOrderId}/items
  • Auth: HTTP bearer

Path parameters

purchaseOrderIdstring required

A stable resource ID, such as prj_…, txn_…, or doc_….

Example:txn_8f2a1c9e

Purchase order ID.

Headers

Idempotency-Keystring required

A unique 16-255 character key. Reusing the key with the same body returns the first result. Reusing it with a different body returns 409 idempotency_conflict.

Request body

lineNumberstring nullable
descriptionstring nullable
budgetLineIdstring nullable
qtystring nullable
unitstring nullable
ratestring nullable
amountinteger nullable

Item total in minor currency units. Defaults to qty × rate.

sortstring nullable

Example request

{
  "description": "Alexa Mini LF body",
  "budgetLineId": "bud_5510",
  "qty": "5",
  "unit": "day",
  "rate": "25000"
}

Response

The created item.

idstring required

A stable resource ID, such as prj_…, txn_…, or doc_….

purchaseOrderIdstring required

A stable resource ID, such as prj_…, txn_…, or doc_….

lineNumberstring nullable

Line number shown in the itemization.

descriptionstring nullable

Item description.

budgetLineIdstring nullable

Budget line ID.

qtystring nullable

Quantity or formula.

unitstring nullable

Unit, such as day, week, or each.

ratestring nullable

Rate or formula.

amountinteger nullable

Item total in minor currency units.

sortstring required

Display order within the purchase order.

Example response

{
  "id": "poi_1a",
  "purchaseOrderId": "po_8f2a1c9e",
  "lineNumber": "1",
  "description": "Alexa Mini LF body",
  "budgetLineId": "bud_5510",
  "qty": "5",
  "unit": "day",
  "rate": "25000",
  "amount": 125000,
  "sort": "1000"
}

Changes

No recorded changes to this operation across all 4 revisions of this API.