> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# UpdatePurchaseOrderCommandRequestInput

> Changes the header of a purchase order, in every status. The input is a one-of: exactly one variant is sent and it must be the kind of the order. Only the properties that are sent change; sending null clears an optional property. Supplier, number, currency and language cannot be changed. Raises the workflow event 'changed'. Errors arrive as GraphQL errors with the code in 'extensions.code'; a refusal because of the current state also lists every reason in 'extensions.blockers'. Codes: PURCHASE_ORDER_REQUESTED_DELIVERY_DATE_REQUIRED (the requested delivery date is cleared) or another invalid request, for example a property that cannot be cleared is sent as null or a text has control characters; PURCHASE_ORDER_NOT_FOUND (the order was not found); WAREHOUSE_NOT_FOUND, COMPANY_NOT_FOUND or SUPPLIER_CONTACT_NOT_FOUND (a referenced record was not found); PURCHASE_ORDER_TYPE_MISMATCH (the variant is not the kind of the order); PURCHASE_ORDER_ALREADY_SENT (a new warehouse for an order that was sent); WAREHOUSE_NOT_USABLE (the warehouse is inactive or a drop shipping target). - Request



**Kind**: `input`

## Fields

**`purchaseOrderId`**: `ID!` (required)

The ID of the purchase order.

---

**`changes`**: `UpdatePurchaseOrderInput!` (required)

The changes. Exactly one variant, the kind of the order.

---

**`disableAutomaticWorkflows`**: `Boolean`

Suppresses the automatic workflow triggers of this call. Defaults to false when omitted.

---

**`idempotencyKey`**: `String`

Client-supplied idempotency key. When provided, a repeated request with the same key and payload replays the original result instead of re-executing the mutation.

