Purchase Order Management

Purchase Order Update

Sent when a supplier gives us new expected dates for a purchase order, so your system can update the promise dates it holds. One event per update, scoped to the purchase order, with the affected lines nested.

Dates appear at the level the supplier stated them: on the purchase order when the supplier gave one date for the whole order, on lineItems when the supplier spoke line by line. Only lines that have a new date appear, and an update that carries no new date sends no event.

note carries what the typed fields cannot — the supplier's wording for why a date moved. It is present at both levels.

Failed deliveries are retried with exponential backoff, so the same update can arrive more than once — including after your handler applied it, when the 200 did not reach Augment. purchaseOrderNumber plus collectedAt identifies one update: treat a repeat of that pair as the delivery you have already applied.

Today this event carries expected dates only. What Augment learns that is not a date — cancellations, no record of the purchase order, shipped and delivered confirmations, tracking numbers — is not sent on this event.

post/PURCHASE_ORDER_UPDATE

Request

Request body

purchaseOrderNumberstring required

Your purchase order number, as sent when the purchase order was created.

expectedShipDatestring date nullable

New expected ship date for the whole purchase order, as a UTC calendar day. Present only when the supplier stated one date for the order rather than per line. Null otherwise.

expectedArrivalDatestring date nullable

New expected arrival date for the whole purchase order, as a UTC calendar day. Present only when the supplier stated one date for the order rather than per line. Null otherwise.

notestring nullable

What the typed fields cannot carry — the supplier's account of why the dates moved, at purchase order level.

source'SUPPLIER_EMAIL' required

Where the dates came from. New values may be added as Augment collects updates over other channels, so treat this as an open set.

collectedAtstring date-time required

When Augment collected the update from the supplier, as a UTC ISO 8601 timestamp ending in Z. Use it to order updates for the same purchase order — a later collectedAt reflects the more recent thing the supplier said.

Example request

{
  "purchaseOrderNumber": "PO-1001",
  "note": "2 units of RH110 backordered until late September.",
  "lineItems": [
    {
      "identifier": "RH110",
      "expectedShipDate": "2026-09-25",
      "note": "Due into supplier late September."
    }
  ],
  "source": "SUPPLIER_EMAIL",
  "collectedAt": "2025-08-21T12:34:56Z"
}

Response

Event acknowledged

Changes

No recorded changes to this operation across all 1 revision of this API.