update_checkout
Update an existing checkout session. Pass only the items you want to add or change — they are MERGED with existing items, not replaced. To remove an item, pass it with quantity=0. To update buyer info or payment without changing items, omit line_items entirely. Always use this instead of creating a new session.
Schema
Input Schema
{
"type": "object",
"required": [
"checkout_id"
],
"properties": {
"buyer": {
"type": "object",
"required": [],
"properties": {
"email": {
"type": "string",
"description": "Customer email address"
},
"full_name": {
"type": "string",
"description": "Customer full name"
},
"phone_number": {
"type": "string",
"description": "Customer phone number"
}
},
"description": "Optional buyer information update"
},
"payment": {
"type": "object",
"required": [],
"properties": {
"instruments": {
"type": "array",
"items": {
"type": "object"
},
"description": "Array of payment instruments"
},
"selected_instrument_id": {
"type": "string",
"description": "ID of selected payment instrument"
}
},
"description": "Optional payment update"
},
"discounts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Coupon or discount codes to apply to this session. Each element is a string code (e.g. \"DISCOUNT2026\"). Pass an empty array to remove all applied codes."
},
"line_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"quantity"
],
"properties": {
"id": {
"type": "string",
"description": "Line item ID (optional for new items)"
},
"item": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Product ID or variation ID"
}
},
"description": "Item reference with product or variation ID"
},
"quantity": {
"type": "integer",
"minimum": 0,
"description": "Quantity"
},
"parent_id": {
"type": "string",
"description": "Parent line item ID for variations"
}
}
},
"description": "Complete replacement list of all line items for the session. Include ALL items you want in the cart (both existing and new) \u2014 this replaces the current line_items entirely, not appends to them."
},
"checkout_id": {
"type": "string",
"description": "Checkout session ID to update"
},
"fulfillment": {
"type": "object",
"required": [],
"properties": {
"methods": {
"type": "array",
"items": {
"type": "object",
"required": [],
"properties": {
"type": {
"enum": [
"shipping",
"pickup",
"digital"
],
"type": "string",
"description": "Fulfillment method type"
},
"groups": {
"type": "array",
"items": {
"type": "object"
},
"description": "Fulfillment groups for this method"
},
"destinations": {
"type": "array",
"items": {
"type": "object"
},
"description": "Available destinations for this method"
},
"line_item_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Line items for this fulfillment method"
},
"selected_destination_id": {
"type": "string",
"description": "Selected destination ID"
}
}
},
"description": "Array of fulfillment methods (shipping, pickup, digital)"
}
},
"description": "Optional fulfillment update"
}
}
}
Verified Stores
17,292
Member Stores
Stores exposing the update_checkout tool
Weekly UCP Report
Get the agentic commerce digest every Monday
Real adoption data, ecosystem trends, new spec versions, and the stores that broke or recovered this week. Read by founders and engineers building the next generation of commerce.
Weekly UCP Report
Issue #50 · Sep 14, 2026
+664
new verified stores
Verified rate
Latest spec
Cart capability
