Agentic checkout (ACP)

ACP: cancel a checkout session

Cancel a session that has not yet been completed. Returns the session with status: canceled (200); once a session is completed or canceled the endpoint answers 405 as the spec requires. Requires a bearer token and an Idempotency-Key like every ACP POST; the body may be empty or carry an intent_trace. Works the same for both API-Version shapes and for sandbox sessions.

post/api/acp/checkout_sessions/{id}/cancel

Request

  • Base URL: https://www.adadiamonds.com
  • URL: https://www.adadiamonds.com/api/acp/checkout_sessions/{id}/cancel
  • 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.

Response

Authoritative session state. Business problems (missing address, out of stock, payment declined) appear in messages[] with a 2xx.

idstring required
status'not_ready_for_payment' | 'ready_for_payment' | 'in_progress' | 'completed' | 'canceled' required
currency'usd' required
selected_fulfillment_optionsobject[]
fulfillment_option_idstring
expires_atstring date-time

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.