---
title: "checkout.expired"
method: POST
path: "checkout.expired"
---

# checkout.expired

`POST checkout.expired` (webhook)

Sent when a checkout expires.

This event fires when a checkout reaches its expiration time without being completed.
Developers can use this to send reminder emails or track checkout abandonment.

**Discord & Slack support:** Basic

## Payload

- WebhookCheckoutExpiredPayload — Sent when a checkout expires. This event fires when a checkout reaches its expiration time without being completed. Developers can use this to send reminder emails or track checkout abandonment. **Discord & Slack support:** Basic
  - `type` 'checkout.expired', required
  - `timestamp` string, date-time, required
  - `data` Checkout, required — Checkout session data retrieved using an access token.
    - `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.
    - `custom_field_data` object — Key-value object storing custom field values.
    - `payment_processor` 'stripe', required
    - `status` 'open' | 'expired' | 'confirmed' | 'succeeded' | 'failed', required
    - `client_secret` string, required — Client secret used to update and complete the checkout session from the client.
    - `url` string, required — URL where the customer can access the checkout session.
    - `expires_at` string, date-time, required — Expiration date and time of the checkout session.
    - `success_url` string, 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.
    - `embed_origin` string, nullable, required — When checkout is embedded, represents the Origin of the page embedding the checkout. Used as a security measure to send messages only to the embedding page.
    - `amount` integer, required — Amount in cents, before discounts and taxes.
    - `seats` integer, nullable — Predefined number of seats (works with seat-based pricing only)
    - `min_seats` integer, nullable — Minimum number of seats (works with seat-based pricing only)
    - `max_seats` integer, nullable — Maximum number of seats (works with seat-based pricing only)
    - `discount_amount` integer, required — Discount amount in cents.
    - `net_amount` integer, required — Amount in cents, after discounts but before taxes.
    - `tax_amount` integer, nullable, required — Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it.
    - `tax_behavior` 'inclusive' | 'exclusive', required
    - `total_amount` integer, required — Amount in cents, after discounts and taxes.
    - `currency` string, required — Currency code of the checkout session.
    - `allow_trial` boolean, nullable, required — Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured.
    - `active_trial_interval` 'day' | 'week' | 'month' | 'year', required
    - `active_trial_interval_count` integer, nullable, required — Number of interval units of the trial period, if any. This value is either set from the checkout, if `trial_interval_count` is set, or from the selected product.
    - `trial_end` string, date-time, nullable, required — End date and time of the trial period, if any.
    - `organization_id` string, uuid4, required — ID of the organization owning the checkout session.
    - `product_id` string, uuid4, nullable, required — ID of the product to checkout.
    - `product_price_id` string, uuid4, nullable, required — ID of the product price to checkout.
    - `discount_id` string, uuid4, nullable, required — ID of the discount applied to the checkout.
    - `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. If you preset the billing address, this setting will be automatically set to `true`.
    - `is_discount_applicable` boolean, required — Whether the discount is applicable to the checkout. Typically, free and custom prices are not discountable.
    - `is_free_product_price` boolean, required — Whether the product price is free, regardless of discounts.
    - `is_payment_required` boolean, required — Whether the checkout requires payment, e.g. in case of free products or discounts that cover the total amount.
    - `is_payment_setup_required` boolean, required — Whether the checkout requires setting up a payment method, regardless of the amount, e.g. subscriptions that have first free cycles.
    - `is_payment_form_required` boolean, required — Whether the checkout requires a payment form, whether because of a payment or payment method setup.
    - `customer_id` string, uuid4, nullable, required
    - `is_business_customer` boolean, required — Whether the customer is a business or an individual. If `true`, the customer will be required to fill their full billing address and billing name.
    - `customer_name` string, nullable, required — Name of the customer.
    - `customer_email` string, nullable, required — Email address of the customer.
    - `customer_ip_address` string, ipvanyaddress, nullable, required
    - `customer_billing_name` string, nullable, required
    - `customer_billing_address` Address, required
      - `line1` string, nullable
      - `line2` string, nullable
      - `postal_code` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `country` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW', required
    - `customer_tax_id` string, nullable, required
    - `locale` string, nullable
    - `payment_method_type` string, nullable, required — Payment method type selected by the customer in the checkout form, e.g. `card`, `apple_pay` or `upi`.
    - `payment_processor_metadata` object, required
    - `billing_address_fields` CheckoutBillingAddressFields, required
      - `country` 'required' | 'optional' | 'disabled', required
      - `state` 'required' | 'optional' | 'disabled', required
      - `city` 'required' | 'optional' | 'disabled', required
      - `postal_code` 'required' | 'optional' | 'disabled', required
      - `line1` 'required' | 'optional' | 'disabled', required
      - `line2` 'required' | 'optional' | 'disabled', required
    - `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
    - `external_customer_id` string, nullable, required — ID of the customer in your system. If a matching customer exists on Polar, the resulting order will be linked to this customer. Otherwise, a new customer will be created with this external ID set.
    - `products` CheckoutProduct[], required — List of products available to select.
      - `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.
              - …
            - 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.
              - …
          - union
            - ProductPriceFixed — A fixed price for a product.
              - …
            - ProductPriceCustom — A pay-what-you-want price for a product.
              - …
            - ProductPriceSeatBased — A seat-based price for a product.
              - …
            - ProductPriceMeteredUnit — A metered, usage-based, price for a product, with a fixed unit 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
    - `product` CheckoutProduct, required — Product data for a checkout session.
      - `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.
              - …
            - 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.
              - …
          - union
            - ProductPriceFixed — A fixed price for a product.
              - …
            - ProductPriceCustom — A pay-what-you-want price for a product.
              - …
            - ProductPriceSeatBased — A seat-based price for a product.
              - …
            - ProductPriceMeteredUnit — A metered, usage-based, price for a product, with a fixed unit 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
    - `product_price` union, required — Price of the selected product.
      - 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)
            - `seat_tier_type` 'volume' | 'graduated'
            - `tiers` ProductPriceSeatTier[], required — List of pricing tiers
              - …
            - `minimum_seats` integer, required — Minimum number of seats required for purchase, derived from first tier.
            - `maximum_seats` integer, nullable, required — Maximum number of seats allowed for purchase, derived from last tier. 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.
            - `id` string, uuid4, required — The ID of the object.
            - `name` string, required — The name of the meter.
            - `unit` 'scalar' | 'token' | 'custom', required
            - `custom_label` string, nullable, required — The label for the custom unit.
            - `custom_multiplier` integer, nullable, required — The multiplier to convert from base unit to display scale.
    - `prices` object, nullable, required — Mapping of product IDs to their list of prices.
    - `discount` union, required
      - CheckoutDiscountFixedOnceForeverDuration — Schema for a fixed amount discount that is applied once or forever.
        - `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.
        - `id` string, uuid4, required — The ID of the object.
        - `name` string, required
        - `code` string, nullable, required
      - CheckoutDiscountFixedRepeatDuration — Schema for a fixed amount discount that is applied on every invoice for a certain number of months.
        - `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.
        - `id` string, uuid4, required — The ID of the object.
        - `name` string, required
        - `code` string, nullable, required
      - CheckoutDiscountPercentageOnceForeverDuration — Schema for a percentage discount that is applied once or forever.
        - `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.
        - `id` string, uuid4, required — The ID of the object.
        - `name` string, required
        - `code` string, nullable, required
      - CheckoutDiscountPercentageRepeatDuration — Schema for a percentage discount that is applied on every invoice for a certain number of months.
        - `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.
        - `id` string, uuid4, required — The ID of the object.
        - `name` string, required
        - `code` string, nullable, required
    - `subscription_id` string, uuid4, nullable, required
    - `attached_custom_fields` AttachedCustomField[], nullable, required
      - `custom_field_id` string, uuid4, required — ID of the custom field.
      - `custom_field` union, required
        - CustomFieldText — Schema for a custom field of type text.
          - `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
          - `type` 'text', required
          - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
          - `name` string, required — Name of the custom field.
          - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
          - `properties` CustomFieldTextProperties, required
            - `form_label` string
            - `form_help_text` string
            - `form_placeholder` string
            - `textarea` boolean
            - `min_length` integer
            - `max_length` integer
        - CustomFieldNumber — Schema for a custom field of type number.
          - `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
          - `type` 'number', required
          - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
          - `name` string, required — Name of the custom field.
          - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
          - `properties` CustomFieldNumberProperties, required
            - `form_label` string
            - `form_help_text` string
            - `form_placeholder` string
            - `ge` integer
            - `le` integer
        - CustomFieldDate — Schema for a custom field of type date.
          - `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
          - `type` 'date', required
          - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
          - `name` string, required — Name of the custom field.
          - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
          - `properties` CustomFieldDateProperties, required
            - `form_label` string
            - `form_help_text` string
            - `form_placeholder` string
            - `ge` integer
            - `le` integer
        - CustomFieldCheckbox — Schema for a custom field of type checkbox.
          - `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
          - `type` 'checkbox', required
          - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
          - `name` string, required — Name of the custom field.
          - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
          - `properties` CustomFieldCheckboxProperties, required
            - `form_label` string
            - `form_help_text` string
            - `form_placeholder` string
        - CustomFieldSelect — Schema for a custom field of type select.
          - `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
          - `type` 'select', required
          - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
          - `name` string, required — Name of the custom field.
          - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
          - `properties` CustomFieldSelectProperties, required
            - `form_label` string
            - `form_help_text` string
            - `form_placeholder` string
            - `options` CustomFieldSelectOption[], required
              - …
      - `order` integer, required — Order of the custom field in the resource.
      - `required` boolean, required — Whether the value is required for this custom field.
    - `customer_metadata` object, required

## Acknowledgement `200`

Successful Response

- unknown

## Other responses

- `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/versions/964f974aceff/schema)
