Update a purchase order
Updates header-level fields on a purchase order in status: draft (vendor, delivery date,
location, notes). Line items must be updated via the items sub-resource. Orders in approved
or later status require a change-order flow.
Requires purchasing:write scope.
Drop-ship destination (2026-07-10). shipping_address_id is writable ONLY on a
drop-ship-linked PO (a sales-order line sources from it) that is unsent and
unreceived; otherwise 422 po_shipto_not_editable, 409
dropship_po_sent_blocks_shipto_change (change it on the parent sales order with
propagate_to_sent_pos: true instead), or 409
dropship_po_received_blocks_shipto_change. The address must belong to the entity.
Authorizations
API key issued per entity via Settings > Developers > API Keys.
Each key carries scopes (e.g. orders:read, products:write).
Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.
Path Parameters
Purchase order UUID or PO number (e.g. PO-001234). Polymorphic lookup: if the value is not a UUID it is resolved to a UUID via orders.order_number where document_type=purchase_order within the entity scope. (NEW-GAP-API-V1-POLYMORPHIC-LOOKUP-CROSS-RESOURCE 2026-05-20)
Body
Response
Updated purchase order
A purchase order issued to a vendor.
purchase_order draft, approved, sent, partially_received, received, closed, cancelled 
