---
title: "Retrieve a checkout configuration"
method: GET
path: "/checkout_configurations/{id}"
tags: ["Checkout Configurations"]
---

# Retrieve a checkout configuration

`GET /checkout_configurations/{id}`

Retrieves a checkout configuration by ID. This endpoint is public so a checkout page can load from the configuration URL.

## Response `200`

checkout configuration found (unauthenticated)

- object
  - `account_id` string, required — Account ID, prefixed `biz_`.
  - `affiliate_code` string, nullable — Affiliate code applied at checkout, or `null` when none is set.
  - `created_at` string, required — When the checkout configuration was created, as an ISO 8601 timestamp.
  - `currency` string, nullable — Currency used for setup-mode payment method availability; defaults to `usd` when omitted.
  - `id` string, required — Checkout configuration ID, prefixed `ch_`.
  - `metadata` object, nullable — Custom key-value metadata copied to payments and memberships. `null` without the `checkout_configuration:basic:read` scope.
  - `mode` 'payment' | 'setup', required — Checkout mode: `payment` collects payment now; `setup` saves payment details for later.
  - `payment_method_configuration` object, nullable — Payment method overrides for this checkout. `null` when it uses the plan or platform defaults.
    - `disabled` string[] — Payment methods explicitly disabled for checkout.
    - `enabled` string[] — Payment methods explicitly enabled for checkout.
    - `include_platform_defaults` boolean — Whether platform default payment methods are included.
  - `plan` object, nullable — Plan used for payment checkout. `null` in setup mode.
    - `adaptive_pricing_enabled` boolean, required — Whether this plan accepts local currency payments via adaptive pricing.
    - `billing_period` integer, nullable, required — Recurring billing interval in days, such as 30 for monthly or 365 for annual. `null` for one-time plans.
    - `currency` string, required — Three-letter ISO currency code for the plan's prices.
    - `expiration_days` integer, nullable, required — Access duration in days for expiration-based plans.
    - `id` string, required — Plan ID, prefixed `plan_`.
    - `initial_price` number, required — Initial purchase price in the plan currency.
    - `plan_type` string, required — Billing model for the plan: `renewal` (recurring) or `one_time` (single payment).
    - `release_method` string, required — Sales method for the plan, such as `buy_now` or `waitlist`.
    - `renewal_price` number, required — Recurring price charged each billing period.
    - `three_ds_level` string, nullable, required — 3D Secure behavior for this plan, or `null` to use the account default.
    - `trial_period_days` integer, nullable, required — Free trial days before the first renewal charge.
    - `visibility` string, required — Whether the plan is visible to customers or hidden from public view.
  - `purchase_url` string, nullable — Checkout URL you can send to customers.
  - `redirect_url` string, nullable — URL customers are sent to after checkout, or `null` when no redirect is configured.
  - `three_ds_level` string, nullable — 3D Secure behavior for this checkout, or `null` to use the account default.
  - `updated_at` string, required — When the checkout configuration was last updated, as an ISO 8601 timestamp.

## Other responses

- `404` — Resource not found

## Changes

- **2026-07-26** `60bbb4a6ffbc` — 1 breaking, 1 info
  - removed the required property `company_id` from the response with the `200` status
  - added the required property `account_id` to the response with the `200` status

[Change history](https://skmtc.dev/whop/apis/whop-api/changes/checkout_configurations/:id/get.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/whop/whop-api/revisions/60bbb4a6ffbc/schema)
