---
title: "Retrieve checkout intent"
method: GET
path: "/api/v1/checkout-intents/{id}"
tags: ["Checkout Intents"]
---

# Retrieve checkout intent

`GET /api/v1/checkout-intents/{id}`

Retrieve a checkout intent by id

Returns checkout intent information if the lookup succeeds.

## Path parameters

- `id` string, required

## Response `200`

Checkout intent information

- union
  - RetrievingOfferCheckoutIntent
    - `discoverPromoCodes` boolean
    - `constraints` CheckoutConstraints
      - `offerRetrievalEffort` 'max' | 'low' — Controls how much effort the system should spend retrieving an offer. - 'max': Full effort including AI agent fallback (slower, higher success rate) - 'low': Fast API-only retrieval, fails if API unavailable (faster, lower success rate) Default: 'max'
      - `maxShippingPrice` integer
      - `maxTotalPrice` integer
    - `promoCodes` PromoCode[]
    - `variantSelections` VariantSelection[]
      - `value` union, required
        - string
        - number, double
      - `label` string, required
    - `buyer` Buyer, required
      - `postalCode` string, required
      - `country` string, required
      - `province` string, required
      - `city` string, required
      - `address2` string
      - `address1` string, required
      - `phone` string, required
      - `email` string, required
      - `lastName` string, required
      - `firstName` string, required
    - `quantity` integer, required
    - `productUrl` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `state` 'retrieving_offer', required
  - AwaitingConfirmationCheckoutIntent
    - `discoverPromoCodes` boolean
    - `constraints` CheckoutConstraints
      - `offerRetrievalEffort` 'max' | 'low' — Controls how much effort the system should spend retrieving an offer. - 'max': Full effort including AI agent fallback (slower, higher success rate) - 'low': Fast API-only retrieval, fails if API unavailable (faster, lower success rate) Default: 'max'
      - `maxShippingPrice` integer
      - `maxTotalPrice` integer
    - `promoCodes` PromoCode[]
    - `variantSelections` VariantSelection[]
      - `value` union, required
        - string
        - number, double
      - `label` string, required
    - `buyer` Buyer, required
      - `postalCode` string, required
      - `country` string, required
      - `province` string, required
      - `city` string, required
      - `address2` string
      - `address1` string, required
      - `phone` string, required
      - `email` string, required
      - `lastName` string, required
      - `firstName` string, required
    - `quantity` integer, required
    - `productUrl` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `paymentMethod` union
      - StripeTokenPaymentMethod
        - `stripeToken` string, required
        - `type` 'stripe_token', required
      - BasisTheoryPaymentMethod
        - `basisTheoryToken` string, required
        - `type` 'basis_theory_token', required
      - NekudaPaymentMethod
        - `nekudaMandateData` RecordStringStringOrNumber — Construct a type with a set of properties K of type T
        - `nekudaUserId` string, required
        - `type` 'nekuda_token', required
      - PravaPaymentMethod
        - `pravaToken` string, required
        - `type` 'prava_token', required
      - DrawdownPaymentMethod
        - `type` 'drawdown', required
      - X402PaymentMethod
        - `network` 'base' | 'solana' | 'tempo', required
        - `type` 'x402', required
    - `offer` Offer, required
      - `shipping` Shipping, required
        - `availableOptions` ShippingOption[], required
          - `deliveryEstimate` DeliveryEstimate — Estimated range of dates that items will be delivered in. At least one of `earliest` or `latest` are guaranteed to be set. Interpretation: * If both `earliest` and `latest` are set, then the delivery estimate is the range between the two dates. * If only `earliest` is set, then the delivery estimate is any date after that date. * If only `latest` is set, then the delivery estimate is any date before that date.
            - `latest` string, date-time — Latest date that items will be delivered by.
            - `earliest` string, date-time — Earliest date that items will be delivered by.
          - `discount` Money
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `cost` Money, required
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `id` string, required
        - `selectedOptionId` string
      - `cost` Cost, required
        - `total` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `surcharge` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `discount` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `tax` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `shipping` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `subtotal` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
      - `appliedPromoCodes` string[]
    - `state` 'awaiting_confirmation', required
  - RequiresActionCheckoutIntent
    - `discoverPromoCodes` boolean
    - `constraints` CheckoutConstraints
      - `offerRetrievalEffort` 'max' | 'low' — Controls how much effort the system should spend retrieving an offer. - 'max': Full effort including AI agent fallback (slower, higher success rate) - 'low': Fast API-only retrieval, fails if API unavailable (faster, lower success rate) Default: 'max'
      - `maxShippingPrice` integer
      - `maxTotalPrice` integer
    - `promoCodes` PromoCode[]
    - `variantSelections` VariantSelection[]
      - `value` union, required
        - string
        - number, double
      - `label` string, required
    - `buyer` Buyer, required
      - `postalCode` string, required
      - `country` string, required
      - `province` string, required
      - `city` string, required
      - `address2` string
      - `address1` string, required
      - `phone` string, required
      - `email` string, required
      - `lastName` string, required
      - `firstName` string, required
    - `quantity` integer, required
    - `productUrl` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `nextAction` NextAction, required
      - `x402` object, required
        - `expiresAt` string, required
        - `recipient` string, required
        - `currency` 'USDC', required
        - `maxAmountRequired` string, required
        - `network` string, required
        - `scheme` 'exact', required
      - `type` 'x402', required
    - `paymentMethod` union, required
      - StripeTokenPaymentMethod
        - `stripeToken` string, required
        - `type` 'stripe_token', required
      - BasisTheoryPaymentMethod
        - `basisTheoryToken` string, required
        - `type` 'basis_theory_token', required
      - NekudaPaymentMethod
        - `nekudaMandateData` RecordStringStringOrNumber — Construct a type with a set of properties K of type T
        - `nekudaUserId` string, required
        - `type` 'nekuda_token', required
      - PravaPaymentMethod
        - `pravaToken` string, required
        - `type` 'prava_token', required
      - DrawdownPaymentMethod
        - `type` 'drawdown', required
      - X402PaymentMethod
        - `network` 'base' | 'solana' | 'tempo', required
        - `type` 'x402', required
    - `offer` Offer, required
      - `shipping` Shipping, required
        - `availableOptions` ShippingOption[], required
          - `deliveryEstimate` DeliveryEstimate — Estimated range of dates that items will be delivered in. At least one of `earliest` or `latest` are guaranteed to be set. Interpretation: * If both `earliest` and `latest` are set, then the delivery estimate is the range between the two dates. * If only `earliest` is set, then the delivery estimate is any date after that date. * If only `latest` is set, then the delivery estimate is any date before that date.
            - `latest` string, date-time — Latest date that items will be delivered by.
            - `earliest` string, date-time — Earliest date that items will be delivered by.
          - `discount` Money
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `cost` Money, required
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `id` string, required
        - `selectedOptionId` string
      - `cost` Cost, required
        - `total` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `surcharge` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `discount` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `tax` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `shipping` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `subtotal` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
      - `appliedPromoCodes` string[]
    - `state` 'requires_action', required
  - PlacingOrderCheckoutIntent
    - `discoverPromoCodes` boolean
    - `constraints` CheckoutConstraints
      - `offerRetrievalEffort` 'max' | 'low' — Controls how much effort the system should spend retrieving an offer. - 'max': Full effort including AI agent fallback (slower, higher success rate) - 'low': Fast API-only retrieval, fails if API unavailable (faster, lower success rate) Default: 'max'
      - `maxShippingPrice` integer
      - `maxTotalPrice` integer
    - `promoCodes` PromoCode[]
    - `variantSelections` VariantSelection[]
      - `value` union, required
        - string
        - number, double
      - `label` string, required
    - `buyer` Buyer, required
      - `postalCode` string, required
      - `country` string, required
      - `province` string, required
      - `city` string, required
      - `address2` string
      - `address1` string, required
      - `phone` string, required
      - `email` string, required
      - `lastName` string, required
      - `firstName` string, required
    - `quantity` integer, required
    - `productUrl` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `paymentMethod` union, required
      - StripeTokenPaymentMethod
        - `stripeToken` string, required
        - `type` 'stripe_token', required
      - BasisTheoryPaymentMethod
        - `basisTheoryToken` string, required
        - `type` 'basis_theory_token', required
      - NekudaPaymentMethod
        - `nekudaMandateData` RecordStringStringOrNumber — Construct a type with a set of properties K of type T
        - `nekudaUserId` string, required
        - `type` 'nekuda_token', required
      - PravaPaymentMethod
        - `pravaToken` string, required
        - `type` 'prava_token', required
      - DrawdownPaymentMethod
        - `type` 'drawdown', required
      - X402PaymentMethod
        - `network` 'base' | 'solana' | 'tempo', required
        - `type` 'x402', required
    - `offer` Offer, required
      - `shipping` Shipping, required
        - `availableOptions` ShippingOption[], required
          - `deliveryEstimate` DeliveryEstimate — Estimated range of dates that items will be delivered in. At least one of `earliest` or `latest` are guaranteed to be set. Interpretation: * If both `earliest` and `latest` are set, then the delivery estimate is the range between the two dates. * If only `earliest` is set, then the delivery estimate is any date after that date. * If only `latest` is set, then the delivery estimate is any date before that date.
            - `latest` string, date-time — Latest date that items will be delivered by.
            - `earliest` string, date-time — Earliest date that items will be delivered by.
          - `discount` Money
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `cost` Money, required
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `id` string, required
        - `selectedOptionId` string
      - `cost` Cost, required
        - `total` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `surcharge` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `discount` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `tax` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `shipping` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `subtotal` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
      - `appliedPromoCodes` string[]
    - `state` 'placing_order', required
  - CompletedCheckoutIntent
    - `discoverPromoCodes` boolean
    - `constraints` CheckoutConstraints
      - `offerRetrievalEffort` 'max' | 'low' — Controls how much effort the system should spend retrieving an offer. - 'max': Full effort including AI agent fallback (slower, higher success rate) - 'low': Fast API-only retrieval, fails if API unavailable (faster, lower success rate) Default: 'max'
      - `maxShippingPrice` integer
      - `maxTotalPrice` integer
    - `promoCodes` PromoCode[]
    - `variantSelections` VariantSelection[]
      - `value` union, required
        - string
        - number, double
      - `label` string, required
    - `buyer` Buyer, required
      - `postalCode` string, required
      - `country` string, required
      - `province` string, required
      - `city` string, required
      - `address2` string
      - `address1` string, required
      - `phone` string, required
      - `email` string, required
      - `lastName` string, required
      - `firstName` string, required
    - `quantity` integer, required
    - `productUrl` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `commissions` CommissionSummary
      - `items` CommissionSummaryItem[], required
        - `developerShareAmount` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `grossAmount` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `settlementDirection` 'rye_owes_developer' | 'developer_owes_rye', required — Direction of settlement: who owes whom once the commission is finalized.
        - `status` 'pending' | 'confirmed' | 'updated' | 'finalized' | 'refunded' | 'expired', required — Lifecycle status of a commission record.
        - `type` 'surcharge' | 'promo_arbitrage' | 'discount_code' | 'affiliate' | 'out_of_band', required — Type of commission earned on an order. Canonical definition used by both the API contract and the internal `@rye-com/ci-commissions` package.
        - `id` string, required
      - `count` number, double, required
    - `estimatedDeliveryDate` string, date-time, nullable
    - `orderId` string, nullable, required
    - `paymentMethod` union, required
      - StripeTokenPaymentMethod
        - `stripeToken` string, required
        - `type` 'stripe_token', required
      - BasisTheoryPaymentMethod
        - `basisTheoryToken` string, required
        - `type` 'basis_theory_token', required
      - NekudaPaymentMethod
        - `nekudaMandateData` RecordStringStringOrNumber — Construct a type with a set of properties K of type T
        - `nekudaUserId` string, required
        - `type` 'nekuda_token', required
      - PravaPaymentMethod
        - `pravaToken` string, required
        - `type` 'prava_token', required
      - DrawdownPaymentMethod
        - `type` 'drawdown', required
      - X402PaymentMethod
        - `network` 'base' | 'solana' | 'tempo', required
        - `type` 'x402', required
    - `offer` Offer, required
      - `shipping` Shipping, required
        - `availableOptions` ShippingOption[], required
          - `deliveryEstimate` DeliveryEstimate — Estimated range of dates that items will be delivered in. At least one of `earliest` or `latest` are guaranteed to be set. Interpretation: * If both `earliest` and `latest` are set, then the delivery estimate is the range between the two dates. * If only `earliest` is set, then the delivery estimate is any date after that date. * If only `latest` is set, then the delivery estimate is any date before that date.
            - `latest` string, date-time — Latest date that items will be delivered by.
            - `earliest` string, date-time — Earliest date that items will be delivered by.
          - `discount` Money
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `cost` Money, required
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `id` string, required
        - `selectedOptionId` string
      - `cost` Cost, required
        - `total` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `surcharge` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `discount` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `tax` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `shipping` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `subtotal` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
      - `appliedPromoCodes` string[]
    - `state` 'completed', required
  - FailedCheckoutIntent
    - `discoverPromoCodes` boolean
    - `constraints` CheckoutConstraints
      - `offerRetrievalEffort` 'max' | 'low' — Controls how much effort the system should spend retrieving an offer. - 'max': Full effort including AI agent fallback (slower, higher success rate) - 'low': Fast API-only retrieval, fails if API unavailable (faster, lower success rate) Default: 'max'
      - `maxShippingPrice` integer
      - `maxTotalPrice` integer
    - `promoCodes` PromoCode[]
    - `variantSelections` VariantSelection[]
      - `value` union, required
        - string
        - number, double
      - `label` string, required
    - `buyer` Buyer, required
      - `postalCode` string, required
      - `country` string, required
      - `province` string, required
      - `city` string, required
      - `address2` string
      - `address1` string, required
      - `phone` string, required
      - `email` string, required
      - `lastName` string, required
      - `firstName` string, required
    - `quantity` integer, required
    - `productUrl` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `failureReason` FailureReason, required
      - `message` string, required
      - `code` 'unknown' | 'checkout_intent_expired' | 'payment_failed' | 'insufficient_stock' | 'product_out_of_stock' | 'offer_retrieval_failed' | 'order_placement_failed' | 'developer_not_found' | 'missing_shipping_method' | 'unsupported_currency' | 'invalid_input' | 'incorrect_cost_breakdown' | 'unsupported_store_no_guest_checkout' | 'workflow_invocation_failed' | 'variant_selections_invalid' | 'variant_selections_required' | 'form_validation_error' | 'captcha_blocked' | 'bot_protection_blocked' | 'constraint_total_price_exceeded' | 'constraint_shipping_cost_exceeded' | 'promo_code_discovery_not_enabled' | 'product_not_found', required — Type derived from runtime array - always in sync
    - `paymentMethod` union
      - StripeTokenPaymentMethod
        - `stripeToken` string, required
        - `type` 'stripe_token', required
      - BasisTheoryPaymentMethod
        - `basisTheoryToken` string, required
        - `type` 'basis_theory_token', required
      - NekudaPaymentMethod
        - `nekudaMandateData` RecordStringStringOrNumber — Construct a type with a set of properties K of type T
        - `nekudaUserId` string, required
        - `type` 'nekuda_token', required
      - PravaPaymentMethod
        - `pravaToken` string, required
        - `type` 'prava_token', required
      - DrawdownPaymentMethod
        - `type` 'drawdown', required
      - X402PaymentMethod
        - `network` 'base' | 'solana' | 'tempo', required
        - `type` 'x402', required
    - `offer` Offer
      - `shipping` Shipping, required
        - `availableOptions` ShippingOption[], required
          - `deliveryEstimate` DeliveryEstimate — Estimated range of dates that items will be delivered in. At least one of `earliest` or `latest` are guaranteed to be set. Interpretation: * If both `earliest` and `latest` are set, then the delivery estimate is the range between the two dates. * If only `earliest` is set, then the delivery estimate is any date after that date. * If only `latest` is set, then the delivery estimate is any date before that date.
            - `latest` string, date-time — Latest date that items will be delivered by.
            - `earliest` string, date-time — Earliest date that items will be delivered by.
          - `discount` Money
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `cost` Money, required
            - `currencyCode` string, required
            - `amountSubunits` integer, required
          - `id` string, required
        - `selectedOptionId` string
      - `cost` Cost, required
        - `total` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `surcharge` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `discount` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `tax` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `shipping` Money
          - `currencyCode` string, required
          - `amountSubunits` integer, required
        - `subtotal` Money, required
          - `currencyCode` string, required
          - `amountSubunits` integer, required
      - `appliedPromoCodes` string[]
    - `state` 'failed', required

## Other responses

- `401` — Authentication Failed
- `404` — Not Found

## Changes

- **2026-05-07** `805117262a29` — 1 info
  - added the optional property `anyOf[subschema #5: Completed]/allOf[subschema #2]/commissions` to the response with the `200` status
- **2026-05-07** `7377af92f84a` — 1 info
  - removed the `payment_cvc_expired` enum value from the `anyOf[subschema #6: Failed]/allOf[subschema #2]/failureReason/code` response property for the response status `200`
- **2026-05-06** `36102c335822` — 1 warning
  - added the new `payment_cvc_expired` enum value to the `anyOf[subschema #6: Failed]/allOf[subschema #2]/failureReason/code` response property for the response status `200`

[Change history](https://skmtc.dev/rye-com/apis/universal-checkout-api/changes/api/v1/checkout-intents/:id/get.md)

---

[API](https://skmtc.dev/rye-com/apis/universal-checkout-api.md) · [All operations](https://skmtc.dev/rye-com/apis/universal-checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rye-com/universal-checkout-api/revisions/dfc099f2ee48/schema)
