Agentic checkout (ACP)
ACP: update a checkout session
Update items, buyer, fulfillment address, or the selected fulfillment option. The spec uses POST (not PUT/PATCH). Totals are recomputed and returned.
post/api/acp/checkout_sessions/{id}
Request
- Base URL: https://www.adadiamonds.com
- URL: https://www.adadiamonds.com/api/acp/checkout_sessions/{id}
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://www.adadiamonds.com/oauth/authorize, token URL https://www.adadiamonds.com/api/oauth/token; client credentials, token URL https://www.adadiamonds.com/api/oauth/token, scopes: cart:write)
Path parameters
idstring required
Checkout session id returned by create.
Headers
API-Version'2025-09-12' | '2026-04-17'
ACP wire version. 2025-09-12 or 2026-04-17; omitted means 2025-09-12 (OpenAI docs shapes). Echoed on every response.
Idempotency-Keystring required
Required on every POST. Opaque string up to 255 characters (UUID v4 recommended), scoped to the credential and endpoint; the same key with a different body is rejected.
Request-Idstring
Trace id; echoed back when provided.
Request body
Example request
{
"line_items": [
{
"id": "diamond:LG123456"
}
]
}Response
Authoritative session state. Business problems (missing address, out of stock, payment declined) appear in messages[] with a 2xx.
Example response
{
"id": "acp_1f6a5b2e-4c3d-4e5f-8a9b-0c1d2e3f4a5b",
"capabilities": {
"payment": {
"handlers": [
{
"id": "stripe_card_spt",
"name": "dev.acp.tokenized.card",
"psp": "stripe"
}
]
}
},
"fulfillment_options": [
{
"id": "fedex_insured_domestic",
"carrier": "FedEx"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.