---
title: "Get Checkout Link"
method: GET
path: "/v1/checkout-links/{id}"
tags: ["checkout-links", "public"]
---

# Get Checkout Link

`GET /v1/checkout-links/{id}`

Get a checkout link by ID.

**Scopes**: `checkout_links:read` `checkout_links:write`

## Path parameters

- `id` string, uuid4, required — The checkout link ID.

## Response `200`

Successful Response

- CheckoutLink — Checkout link data.
  - `id` string, uuid4, required — The ID of the object.
  - `created_at` string, date-time, required — Creation timestamp of the object.
  - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
  - `trial_interval` 'day' | 'week' | 'month' | 'year', required
  - `trial_interval_count` integer, nullable, required — The number of interval units for the trial period.
  - `metadata` MetadataOutputType, required
  - `payment_processor` 'stripe', required
  - `client_secret` string, required — Client secret used to access the checkout link.
  - `success_url` string, nullable, required — URL where the customer will be redirected after a successful payment.
  - `return_url` string, nullable, required — When set, a back button will be shown in the checkout to return to this URL.
  - `label` string, nullable, required — Optional label to distinguish links internally
  - `allow_discount_codes` boolean, required — Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it.
  - `require_billing_address` boolean, required — Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting.
  - `discount_id` string, uuid4, nullable, required — ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored.
  - `seats` integer, nullable, required — Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored.
  - `organization_id` string, uuid4, required — The organization ID.
  - `products` CheckoutLinkProduct[], required
    - `metadata` MetadataOutputType, required
    - `id` string, uuid4, required — The ID of the object.
    - `created_at` string, date-time, required — Creation timestamp of the object.
    - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
    - `trial_interval` 'day' | 'week' | 'month' | 'year', required
    - `trial_interval_count` integer, nullable, required — The number of interval units for the trial period.
    - `name` string, required — The name of the product.
    - `description` string, nullable, required — The description of the product.
    - `visibility` 'draft' | 'private' | 'public', required
    - `recurring_interval` 'day' | 'week' | 'month' | 'year', required
    - `recurring_interval_count` integer, nullable, required — Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.
    - `meter_interval` 'day' | 'week' | 'month' | 'year', required
    - `meter_interval_count` integer, nullable, required — Number of meter interval units. None when no meter cycle is set.
    - `is_recurring` boolean, required — Whether the product is a subscription.
    - `is_archived` boolean, required — Whether the product is archived and no longer available.
    - `organization_id` string, uuid4, required — The ID of the organization owning the product.
    - `prices` union[], required — List of prices for this product.
      - union
        - union
          - LegacyRecurringProductPriceFixed — A recurring price for a product, i.e. a subscription. **Deprecated**: The recurring interval should be set on the product itself.
            - `created_at` string, date-time, required — Creation timestamp of the object.
            - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
            - `id` string, uuid4, required — The ID of the price.
            - `source` 'catalog' | 'ad_hoc', required
            - `amount_type` 'fixed', required
            - `price_currency` string, required — The currency in which the customer will be charged.
            - `tax_behavior` 'location' | 'inclusive' | 'exclusive', required
            - `is_archived` boolean, required — Whether the price is archived and no longer available.
            - `product_id` string, uuid4, required — The ID of the product owning the price.
            - `type` 'recurring', required — The type of the price.
            - `recurring_interval` 'day' | 'week' | 'month' | 'year', required
            - `price_amount` integer, required — The price in cents.
            - `legacy` true, required
          - LegacyRecurringProductPriceCustom — A pay-what-you-want recurring price for a product, i.e. a subscription. **Deprecated**: The recurring interval should be set on the product itself.
            - `created_at` string, date-time, required — Creation timestamp of the object.
            - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
            - `id` string, uuid4, required — The ID of the price.
            - `source` 'catalog' | 'ad_hoc', required
            - `amount_type` 'custom', required
            - `price_currency` string, required — The currency in which the customer will be charged.
            - `tax_behavior` 'location' | 'inclusive' | 'exclusive', required
            - `is_archived` boolean, required — Whether the price is archived and no longer available.
            - `product_id` string, uuid4, required — The ID of the product owning the price.
            - `type` 'recurring', required — The type of the price.
            - `recurring_interval` 'day' | 'week' | 'month' | 'year', required
            - `minimum_amount` integer, required — The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'.
            - `maximum_amount` integer, nullable, required — The maximum amount the customer can pay.
            - `preset_amount` integer, nullable, required — The initial amount shown to the customer.
            - `legacy` true, required
        - union
          - ProductPriceFixed — A fixed price for a product.
            - `created_at` string, date-time, required — Creation timestamp of the object.
            - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
            - `id` string, uuid4, required — The ID of the price.
            - `source` 'catalog' | 'ad_hoc', required
            - `amount_type` 'fixed', required
            - `price_currency` string, required — The currency in which the customer will be charged.
            - `tax_behavior` 'location' | 'inclusive' | 'exclusive', required
            - `is_archived` boolean, required — Whether the price is archived and no longer available.
            - `product_id` string, uuid4, required — The ID of the product owning the price.
            - `price_amount` integer, required — The price in cents.
          - ProductPriceCustom — A pay-what-you-want price for a product.
            - `created_at` string, date-time, required — Creation timestamp of the object.
            - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
            - `id` string, uuid4, required — The ID of the price.
            - `source` 'catalog' | 'ad_hoc', required
            - `amount_type` 'custom', required
            - `price_currency` string, required — The currency in which the customer will be charged.
            - `tax_behavior` 'location' | 'inclusive' | 'exclusive', required
            - `is_archived` boolean, required — Whether the price is archived and no longer available.
            - `product_id` string, uuid4, required — The ID of the product owning the price.
            - `minimum_amount` integer, required — The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'.
            - `maximum_amount` integer, nullable, required — The maximum amount the customer can pay.
            - `preset_amount` integer, nullable, required — The initial amount shown to the customer.
          - ProductPriceSeatBased — A seat-based price for a product.
            - `created_at` string, date-time, required — Creation timestamp of the object.
            - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
            - `id` string, uuid4, required — The ID of the price.
            - `source` 'catalog' | 'ad_hoc', required
            - `amount_type` 'seat_based', required
            - `price_currency` string, required — The currency in which the customer will be charged.
            - `tax_behavior` 'location' | 'inclusive' | 'exclusive', required
            - `is_archived` boolean, required — Whether the price is archived and no longer available.
            - `product_id` string, uuid4, required — The ID of the product owning the price.
            - `seat_tiers` ProductPriceSeatTiersOutput, required — List of pricing tiers for seat-based pricing. The minimum and maximum seat limits are derived from the tiers: - minimum_seats = first tier's min_seats - maximum_seats = last tier's max_seats (None for unlimited)
              - …
          - ProductPriceMeteredUnit — A metered, usage-based, price for a product, with a fixed unit price.
            - `created_at` string, date-time, required — Creation timestamp of the object.
            - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
            - `id` string, uuid4, required — The ID of the price.
            - `source` 'catalog' | 'ad_hoc', required
            - `amount_type` 'metered_unit', required
            - `price_currency` string, required — The currency in which the customer will be charged.
            - `tax_behavior` 'location' | 'inclusive' | 'exclusive', required
            - `is_archived` boolean, required — Whether the price is archived and no longer available.
            - `product_id` string, uuid4, required — The ID of the product owning the price.
            - `unit_amount` string, required — The price per unit in cents.
            - `cap_amount` integer, nullable, required — The maximum amount in cents that can be charged, regardless of the number of units consumed.
            - `meter_id` string, uuid4, required — The ID of the meter associated to the price.
            - `meter` ProductPriceMeter, required — A meter associated to a metered price.
              - …
    - `benefits` BenefitPublic[], required — List of benefits granted by the product.
      - `id` string, uuid4, required — The ID of the benefit.
      - `created_at` string, date-time, required — Creation timestamp of the object.
      - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
      - `type` 'custom' | 'discord' | 'github_repository' | 'downloadables' | 'license_keys' | 'meter_credit' | 'feature_flag' | 'slack_shared_channel', required
      - `description` string, required — The description of the benefit.
      - `selectable` boolean, required — Whether the benefit is selectable when creating a product.
      - `deletable` boolean, required — Whether the benefit is deletable.
      - `is_deleted` boolean, required — Whether the benefit is deleted.
      - `organization_id` string, uuid4, required — The ID of the organization owning the benefit.
    - `medias` ProductMediaFileRead[], required — List of medias associated to the product.
      - `id` string, uuid4, required — The ID of the object.
      - `organization_id` string, uuid4, required
      - `name` string, required
      - `path` string, required
      - `mime_type` string, required
      - `size` integer, required
      - `storage_version` string, nullable, required
      - `checksum_etag` string, nullable, required
      - `checksum_sha256_base64` string, nullable, required
      - `checksum_sha256_hex` string, nullable, required
      - `last_modified_at` string, date-time, nullable, required
      - `version` string, nullable, required
      - `service` 'product_media', required
      - `is_uploaded` boolean, required
      - `created_at` string, date-time, required
      - `size_readable` string, required
      - `public_url` string, required
  - `discount` union, required
    - DiscountFixedOnceForeverDurationBase
      - `duration` 'once' | 'forever' | 'repeating', required
      - `type` 'fixed' | 'percentage', required
      - `amount` integer, required
      - `currency` string, required
      - `amounts` object, required — Map of currency to fixed amount to discount from the total.
      - `created_at` string, date-time, required — Creation timestamp of the object.
      - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
      - `id` string, uuid4, required — The ID of the object.
      - `metadata` MetadataOutputType, required
      - `name` string, required — Name of the discount. Will be displayed to the customer when the discount is applied.
      - `code` string, nullable, required — Code customers can use to apply the discount during checkout.
      - `starts_at` string, date-time, nullable, required — Timestamp after which the discount is redeemable.
      - `ends_at` string, date-time, nullable, required — Timestamp after which the discount is no longer redeemable.
      - `max_redemptions` integer, nullable, required — Maximum number of times the discount can be redeemed.
      - `max_redemptions_per_customer` integer, nullable, required — Maximum number of times the discount can be redeemed by a single customer.
      - `redemptions_count` integer, required — Number of times the discount has been redeemed.
      - `organization_id` string, uuid4, required — The organization ID.
    - DiscountFixedRepeatDurationBase
      - `duration` 'once' | 'forever' | 'repeating', required
      - `duration_in_months` integer, required
      - `type` 'fixed' | 'percentage', required
      - `amount` integer, required
      - `currency` string, required
      - `amounts` object, required — Map of currency to fixed amount to discount from the total.
      - `created_at` string, date-time, required — Creation timestamp of the object.
      - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
      - `id` string, uuid4, required — The ID of the object.
      - `metadata` MetadataOutputType, required
      - `name` string, required — Name of the discount. Will be displayed to the customer when the discount is applied.
      - `code` string, nullable, required — Code customers can use to apply the discount during checkout.
      - `starts_at` string, date-time, nullable, required — Timestamp after which the discount is redeemable.
      - `ends_at` string, date-time, nullable, required — Timestamp after which the discount is no longer redeemable.
      - `max_redemptions` integer, nullable, required — Maximum number of times the discount can be redeemed.
      - `max_redemptions_per_customer` integer, nullable, required — Maximum number of times the discount can be redeemed by a single customer.
      - `redemptions_count` integer, required — Number of times the discount has been redeemed.
      - `organization_id` string, uuid4, required — The organization ID.
    - DiscountPercentageOnceForeverDurationBase
      - `duration` 'once' | 'forever' | 'repeating', required
      - `type` 'fixed' | 'percentage', required
      - `basis_points` integer, required — Discount percentage in basis points. A basis point is 1/100th of a percent. For example, 1000 basis points equals a 10% discount.
      - `created_at` string, date-time, required — Creation timestamp of the object.
      - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
      - `id` string, uuid4, required — The ID of the object.
      - `metadata` MetadataOutputType, required
      - `name` string, required — Name of the discount. Will be displayed to the customer when the discount is applied.
      - `code` string, nullable, required — Code customers can use to apply the discount during checkout.
      - `starts_at` string, date-time, nullable, required — Timestamp after which the discount is redeemable.
      - `ends_at` string, date-time, nullable, required — Timestamp after which the discount is no longer redeemable.
      - `max_redemptions` integer, nullable, required — Maximum number of times the discount can be redeemed.
      - `max_redemptions_per_customer` integer, nullable, required — Maximum number of times the discount can be redeemed by a single customer.
      - `redemptions_count` integer, required — Number of times the discount has been redeemed.
      - `organization_id` string, uuid4, required — The organization ID.
    - DiscountPercentageRepeatDurationBase
      - `duration` 'once' | 'forever' | 'repeating', required
      - `duration_in_months` integer, required
      - `type` 'fixed' | 'percentage', required
      - `basis_points` integer, required — Discount percentage in basis points. A basis point is 1/100th of a percent. For example, 1000 basis points equals a 10% discount.
      - `created_at` string, date-time, required — Creation timestamp of the object.
      - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
      - `id` string, uuid4, required — The ID of the object.
      - `metadata` MetadataOutputType, required
      - `name` string, required — Name of the discount. Will be displayed to the customer when the discount is applied.
      - `code` string, nullable, required — Code customers can use to apply the discount during checkout.
      - `starts_at` string, date-time, nullable, required — Timestamp after which the discount is redeemable.
      - `ends_at` string, date-time, nullable, required — Timestamp after which the discount is no longer redeemable.
      - `max_redemptions` integer, nullable, required — Maximum number of times the discount can be redeemed.
      - `max_redemptions_per_customer` integer, nullable, required — Maximum number of times the discount can be redeemed by a single customer.
      - `redemptions_count` integer, required — Number of times the discount has been redeemed.
      - `organization_id` string, uuid4, required — The organization ID.
  - `url` string, required

## Other responses

- `404` — Checkout link not found.
- `422` — Validation Error

---

[API](https://skmtc.net/polar/apis/polar-api.md) · [All operations](https://skmtc.net/polar/apis/polar-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polar/polar-api/revisions/f9688fd328d6/schema)
