Skip to Content

List subscription checkouts

GET/subscription-checkouts

Retrieve a paginated list of subscription checkout intents, most recent first. Filter by status, subscriber, chain, and creation-date range.

Headers

HeaderDescriptionRequired
AuthorizationBearer token with your secret API keyyes

Query Parameters

NameTypeRequiredDescription
limitintegerRows per page, 1 to 100. Defaults to 50. Values outside the range are rejected rather than clamped.
starting_afterstringCursor for forward pagination: an object id from a previous page. Returns results after it. Mutually exclusive with ending_before; sending both is a 400.
ending_beforestringCursor for backward pagination: an object id from a previous page. Returns results before it. Mutually exclusive with starting_after; sending both is a 400.
statusenum: pending | completed | expired | cancelled
subscriberstring
external_customer_idstring
chainstring
created_gtestring · date-time
created_ltestring · date-time

Example Request

Request

const response = await fetch('https://checkout-api.exodus-int.com/subscription-checkouts?limit=50&starting_after=<starting_after>&ending_before=<ending_before>&status=pending&subscriber=<subscriber>&external_customer_id=<external_customer_id>&chain=<chain>&created_gte=<created_gte>&created_lte=<created_lte>', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer sk_live_xxxxxxxxxxxxxxxx',
  },
});

Responses

StatusDescription
200A paginated list of subscription checkouts.
400Validation error
401Missing or invalid authentication
403API key lacks the required scope

Response body

FieldTypeRequiredDescription
objectenum: listyes
dataobject[]yes
has_morebooleanyes

data

FieldTypeRequiredDescription
objectenum: subscription_checkoutyes
idstringyes
statusenum: pending | completed | expired | cancelledyes
onchain_idstringyes
business_namestringyes
background_colorstring | nullyes
primary_colorstring | nullyes
subscriberstring | nullyes
external_customer_idstring | nullyes
subscription_optionsobject[]yesEvery chain/token combination the subscriber may pick at subscribe time. Always an array -- do not assume a single entry.
pricestringyesThe recurring per-cycle amount, in price_currency's minor units. price, cap, and budget share one unit system; fiat figures convert to exact-out token amounts at subscribe/charge time via a quote, never pre-converted here.
price_currencystring | nullyesISO-4217 pricing currency. Always set on checkouts created after fiat-only creation shipped; null only on legacy rows.
period_durationnumberyes
capstring | nullyesPer-charge ceiling, same unit system as price.
budgetstringyesPer-window spend ceiling, same unit system as price.
initial_chargebooleanyes
checkout_urlstringyes
success_urlstring | nullyes
cancel_urlstring | nullyes
return_urlstring | nullyes
metadataobject | nullyes
expires_atstringyes
created_atstringyes
updated_atstringyes
completed_atstring | nullyes
cancelled_atstring | nullyes
expired_atstring | nullyes
cancellation_reasonstring | nullyes

subscription_options

FieldTypeRequiredDescription
chainstringyes
tokenstringyes
subscription_manager_addressstringyes
relayer_addressstringyes

Example Response

{
  "object": "list",
  "data": [
    {
      "object": "subscription_checkout",
      "id": "schk_1234567890abcdef",
      "status": "completed",
      "onchain_id": "0x9f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a",
      "business_name": "Acme Inc",
      "background_color": "#0f172a",
      "primary_color": "#7c3aed",
      "subscriber": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
      "external_customer_id": "cus_42",
      "subscription_options": [
        {
          "chain": "eip155:1",
          "token": "USDC",
          "subscription_manager_address": "0xa1b2c3d4e5f6789012345678901234567890abcd",
          "relayer_address": "0x9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b"
        },
        {
          "chain": "eip155:137",
          "token": "USDC",
          "subscription_manager_address": "0xb2c3d4e5f67890123456789012345678901234cd",
          "relayer_address": "0x9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b"
        }
      ],
      "price": "250000",
      "price_currency": "ARS",
      "period_duration": 2592000,
      "cap": "1000000",
      "budget": "2500000",
      "initial_charge": true,
      "checkout_url": "https://checkout.exodus-int.com/subscribe/schk_1234567890abcdef",
      "success_url": "https://merchant.com/subscribed",
      "cancel_url": "https://merchant.com/cancelled",
      "return_url": "https://merchant.com/plans/pro",
      "metadata": {
        "external_plan_ref": "pro_monthly"
      },
      "expires_at": "2026-05-19T12:05:00Z",
      "created_at": "2026-05-19T12:00:00Z",
      "updated_at": "2026-05-19T12:02:18Z",
      "completed_at": "2026-05-19T12:02:18Z",
      "cancelled_at": null,
      "expired_at": null,
      "cancellation_reason": null
    },
    {
      "object": "subscription_checkout",
      "id": "schk_fiat0987654321",
      "status": "completed",
      "onchain_id": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b",
      "business_name": "Klassly",
      "background_color": null,
      "primary_color": null,
      "subscriber": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
      "external_customer_id": "cus_88",
      "subscription_options": [
        {
          "chain": "eip155:1",
          "token": "USDC",
          "subscription_manager_address": "0xa1b2c3d4e5f6789012345678901234567890abcd",
          "relayer_address": "0x9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b"
        },
        {
          "chain": "eip155:1",
          "token": "USDT",
          "subscription_manager_address": "0xa1b2c3d4e5f6789012345678901234567890abcd",
          "relayer_address": "0x9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b"
        },
        {
          "chain": "eip155:137",
          "token": "USDC",
          "subscription_manager_address": "0xb2c3d4e5f67890123456789012345678901234cd",
          "relayer_address": "0x9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b"
        },
        {
          "chain": "eip155:137",
          "token": "USDT",
          "subscription_manager_address": "0xb2c3d4e5f67890123456789012345678901234cd",
          "relayer_address": "0x9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b"
        }
      ],
      "price": "150000",
      "price_currency": "ARS",
      "period_duration": 2592000,
      "cap": "1500000",
      "budget": "1500000",
      "initial_charge": true,
      "checkout_url": "https://checkout.exodus-int.com/subscribe/schk_fiat0987654321",
      "success_url": "https://klassly.com/subscribed",
      "cancel_url": "https://klassly.com/cancelled",
      "return_url": "https://klassly.com/plans",
      "metadata": {
        "external_plan_ref": "ars_monthly"
      },
      "expires_at": "2026-07-10T09:20:42Z",
      "created_at": "2026-07-10T09:15:00Z",
      "updated_at": "2026-07-10T09:15:42Z",
      "completed_at": "2026-07-10T09:15:42Z",
      "cancelled_at": null,
      "expired_at": null,
      "cancellation_reason": null
    }
  ],
  "has_more": false
}

Error Response

Error (e.g. 400)

{
  "error": {
    "type": "validation_error",
    "message": "starting_after and ending_before are mutually exclusive",
    "param": "ending_before"
  }
}

Start building

XO

Request Demo

Schedule a call with our team

Select a product
Arrow right

Start building
Grateful

Contact Us

We're here to help