# AgentCheckoutInput

input type

The whole checkout as the platform states it (create = the birth; update = FULL REPLACEMENT — the released law).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `lines` | [AgentCheckoutLineInput](/types/AgentCheckoutLineInput/) `[AgentCheckoutLineInput!]!` | yes | No further notes. |
| `buyer` | [AgentCheckoutBuyerInput](/types/AgentCheckoutBuyerInput/) | no | No further notes. |
| `fulfillment` | [AgentCheckoutFulfillmentInput](/types/AgentCheckoutFulfillmentInput/) | no | No further notes. |
| `discountCodes` | [String](/types/#scalars) `[String!]` | no | The discount extension: the platform's codes — replacement semantics (the list replaces the held coupon; clears); absent = untouched. At most 8 codes, each at most 64 characters; matched case-insensitively. A rejected code is a warning message at $.discounts.codes\[i], never a refusal. |

## Used by

- [agentChannelCheckoutCreate](/reference/selling/agentChannelCheckoutCreate/)
- [agentChannelCheckoutUpdate](/reference/selling/agentChannelCheckoutUpdate/)
