---
title: "Get a subscription"
method: GET
path: "/subscriptions/{subscription_id}"
tags: ["Subscriptions"]
---

# Get a subscription

`GET /subscriptions/{subscription_id}`

## Request

- Base URL: `https://sandbox-api.paddle.com`
- URL: `https://sandbox-api.paddle.com/subscriptions/{subscription_id}`
- Auth: HTTP bearer

Returns a subscription using its ID.

Use the `include` parameter to include transaction information in the response.

## Path parameters

- `subscription_id` string, required

## Query parameters

- `include` SubscriptionIncludeEnum[]

## Response `200`

The request has succeeded.

- object
  - `data` SubscriptionIncludes, required: Represents a subscription entity with included entities.
    - `id` string, required: Unique Paddle ID for this subscription entity, prefixed with `sub_`.
    - `status` 'active' | 'canceled' | 'past_due' | 'paused' | 'trialing', required: Status of this subscription. Set automatically by Paddle. Use the pause subscription or cancel subscription operations to change.
    - `customer_id` string, required: Unique Paddle ID for this customer entity, prefixed with `ctm_`.
    - `address_id` string, required: Unique Paddle ID for this address entity, prefixed with `add_`.
    - `business_id` string, required: Unique Paddle ID for this business entity, prefixed with `biz_`.
    - `currency_code` 'USD' | 'EUR' | 'GBP' | 'JPY' | 'AUD' | 'CAD' | 'CHF' | 'HKD' | 'SGD' | 'SEK' | 'ARS' | 'BRL' | 'CLP' | 'CNY' | 'COP' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'NOK' | 'NZD' | 'PEN' | 'PLN' | 'RUB' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'VND' | 'ZAR', required: Supported three-letter ISO 4217 currency code.
    - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
    - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
    - `started_at` string, date-time, required: RFC 3339 datetime string.
    - `first_billed_at` string, date-time, required: RFC 3339 datetime string.
    - `next_billed_at` string, date-time, required: RFC 3339 datetime string.
    - `paused_at` string, date-time, required: RFC 3339 datetime string.
    - `canceled_at` string, date-time, required: RFC 3339 datetime string.
    - `discount` SubscriptionDiscount, required: Details of the discount applied to this subscription.
      - `id` string, required: Unique Paddle ID for this discount, prefixed with `dsc_`.
      - `starts_at` string, date-time, required: RFC 3339 datetime string.
      - `ends_at` string, date-time, required: RFC 3339 datetime string.
      - `type` 'recurring' | 'one-off', required: Whether this discount applies for multiple billing periods.
    - `collection_mode` 'automatic' | 'manual', required: How payment is collected. `automatic` for checkout, `manual` for invoices.
    - `billing_details` BillingDetails, required: Details for invoicing. Required if `collection_mode` is `manual`.
      - `enable_checkout` boolean, required: Whether the related transaction may be paid using Paddle Checkout. If omitted when creating a transaction, defaults to `false`.
      - `purchase_order_number` string, required: Customer purchase order number. Appears on invoice documents.
      - `additional_information` string, nullable, required: Notes or other information to include on this invoice. Appears on invoice documents.
      - `payment_terms` Duration, required
        - `interval` 'day' | 'week' | 'month' | 'year', required
        - `frequency` integer, required: Amount of time.
    - `current_billing_period` TimePeriod, required
      - `starts_at` string, date-time, required: RFC 3339 datetime string.
      - `ends_at` string, date-time, required: RFC 3339 datetime string.
    - `billing_cycle` Duration, required
      - `interval` 'day' | 'week' | 'month' | 'year', required
      - `frequency` integer, required: Amount of time.
    - `scheduled_change` SubscriptionScheduledChange, required: Change that's scheduled to be applied to a subscription. Use the pause subscription, cancel subscription, and resume subscription operations to create scheduled changes. `null` if no scheduled changes.
      - `action` 'cancel' | 'pause' | 'resume', required: Kind of change that's scheduled to be applied to this subscription.
      - `effective_at` string, date-time, required: RFC 3339 datetime string.
      - `resume_at` string, date-time, required: RFC 3339 datetime string.
    - `management_urls` SubscriptionManagementUrls, required: Customer portal deep links for this subscription. Authenticated links are only returned when your API key has Customer portal session (Write) permission. For security, the `token` appended to authenticated links is temporary. You shouldn't store them.
      - `update_payment_method` string, uri, nullable, required: Link to the page for this subscription in the customer portal with the payment method update form pre-opened. Use as part of workflows to let customers update their payment details. `null` for manually-collected subscriptions.
      - `cancel` string, uri, required: Link to the page for this subscription in the customer portal with the subscription cancellation form pre-opened. Use as part of cancel subscription workflows.
      - `view_subscription` string, uri, required: Link to the page for this subscription in the customer portal, with no form pre-opened. Use to let customers manage the subscription themselves rather than sending them into one specific action.
    - `items` ItemSubscription[], required: List of items on this subscription. Only recurring items are returned.
      - `status` 'active' | 'inactive' | 'trialing', required: Status of this subscription item. Set automatically by Paddle.
      - `quantity` number, required: Quantity of this item on the subscription.
      - `recurring` boolean, required: Whether this is a recurring item. `false` if one-time.
      - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
      - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
      - `previously_billed_at` string, date-time, required: RFC 3339 datetime string.
      - `next_billed_at` string, date-time, required: RFC 3339 datetime string.
      - `trial_dates` TimePeriod, required
        - `starts_at` string, date-time, required: RFC 3339 datetime string.
        - `ends_at` string, date-time, required: RFC 3339 datetime string.
      - `price` Price, required: Represents a price entity.
        - `id` string, required: Unique Paddle ID for this price, prefixed with `pri_`.
        - `product_id` string, required: Unique Paddle ID for this product, prefixed with `pro_`.
        - `description` string, required: Internal description for this price, not shown to customers. Typically notes for your team.
        - `type` 'custom' | 'standard', required: Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard.
        - `name` string, required: Name of this price, shown to customers at checkout and on invoices. Typically describes how often the related product bills.
        - `billing_cycle` Duration, required
          - `interval` 'day' | 'week' | 'month' | 'year', required
          - `frequency` integer, required: Amount of time.
        - `trial_period` PriceTrialDuration, required
          - `interval` 'day' | 'week' | 'month' | 'year', required
          - `frequency` integer, required: Amount of time.
          - `requires_payment_method` boolean, required: Whether this price requires a payment method (`true`) or not (`false`) when trialing. If `false`, customers can sign up for subscription without entering their payment details, often referred to as a "cardless trial."
          - `unit_price` MoneyOptionalCurrency: A representation of monetary value unformatted in the lowest denomination with optional currency code.
            - `amount` string, required: Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
            - `currency_code` 'USD' | 'EUR' | 'GBP' | 'JPY' | 'AUD' | 'CAD' | 'CHF' | 'HKD' | 'SGD' | 'SEK' | 'ARS' | 'BRL' | 'CLP' | 'CNY' | 'COP' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'NOK' | 'NZD' | 'PEN' | 'PLN' | 'RUB' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'VND' | 'ZAR': Supported three-letter ISO 4217 currency code.
          - `unit_price_overrides` PriceTrialUnitPriceOverride[]: List of unit price overrides for trial pricing. Use to override base trial price with a custom trial price and currency for a country or group of countries.
            - `country_codes` CountryCode[], required: Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price.
              - …
            - `unit_price` MoneyOptionalCurrency, required: A representation of monetary value unformatted in the lowest denomination with optional currency code.
              - …
        - `tax_mode` 'account_setting' | 'external' | 'internal' | 'location', required: How tax is calculated for this price.
        - `unit_price` Money, required: A base representation of monetary value unformatted in the lowest denomination with currency code.
          - `amount` string, required: Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
          - `currency_code` 'USD' | 'EUR' | 'GBP' | 'JPY' | 'AUD' | 'CAD' | 'CHF' | 'HKD' | 'SGD' | 'SEK' | 'ARS' | 'BRL' | 'CLP' | 'CNY' | 'COP' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'NOK' | 'NZD' | 'PEN' | 'PLN' | 'RUB' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'VND' | 'ZAR', required: Supported three-letter ISO 4217 currency code.
        - `unit_price_overrides` UnitPriceOverride[], required: List of unit price overrides. Use to override the base price with a custom price and currency for a country or group of countries.
          - `country_codes` CountryCode[], required: Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price.
            - union
              - …
          - `unit_price` Money, required: A base representation of monetary value unformatted in the lowest denomination with currency code.
            - `amount` string, required: Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
            - `currency_code` 'USD' | 'EUR' | 'GBP' | 'JPY' | 'AUD' | 'CAD' | 'CHF' | 'HKD' | 'SGD' | 'SEK' | 'ARS' | 'BRL' | 'CLP' | 'CNY' | 'COP' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'NOK' | 'NZD' | 'PEN' | 'PLN' | 'RUB' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'VND' | 'ZAR', required: Supported three-letter ISO 4217 currency code.
        - `quantity` PriceQuantity, required
          - `minimum` integer, required: Minimum quantity of the product related to this price that can be bought. Required if `maximum` set.
          - `maximum` integer, required: Maximum quantity of the product related to this price that can be bought. Required if `minimum` set. Must be greater than or equal to the `minimum` value.
        - `status` 'active' | 'archived', required: Whether this entity can be used in Paddle.
        - `custom_data` CustomData, required: Your own structured key-value data.
        - `import_meta` object, nullable, required: Import information for this entity. `null` if this entity is not imported.
          - `external_id` string: Reference or identifier for this entity from the provider where it was imported from.
          - `imported_from` string, required: Name of the platform or provider where this entity was imported from.
        - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
        - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
      - `product` Product, required: Represents a product entity.
        - `id` string, required: Unique Paddle ID for this product, prefixed with `pro_`.
        - `name` string, required: Name of this product.
        - `description` string, nullable, required: Short description for this product.
        - `type` 'custom' | 'standard', required: Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard.
        - `tax_category` 'digital-goods' | 'ebooks' | 'implementation-services' | 'professional-services' | 'saas' | 'software-programming-services' | 'standard' | 'training-services' | 'website-hosting', required: Tax category for this product. Used for charging the correct rate of tax. Selected tax category must be enabled on your Paddle account.
        - `image_url` union, required: Image for this product. Included in the checkout and on some customer documents.
          - string, uri: A URL to an image.
          - string
        - `custom_data` CustomData, required: Your own structured key-value data.
        - `status` 'active' | 'archived', required: Whether this entity can be used in Paddle.
        - `import_meta` object, nullable, required: Import information for this entity. `null` if this entity is not imported.
          - `external_id` string: Reference or identifier for this entity from the provider where it was imported from.
          - `imported_from` string, required: Name of the platform or provider where this entity was imported from.
        - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
        - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
    - `custom_data` CustomData, required: Your own structured key-value data.
    - `import_meta` object, nullable, required: Import information for the subscription entity. `null` if this entity is not imported.
      - `external_id` string: Reference or identifier for this entity from the provider where it was imported from.
      - `imported_from` string, required: Name of the platform or provider where this entity was imported from.
    - `consent_requirements` SubscriptionConsentRequirement[], required: List of active consent requirements for the subscription's current billing period.
      - `id` string, required: Unique Paddle ID for this subscription consent requirement entity, prefixed with `subconreq_`.
      - `requirement` 'trial_ending' | 'introductory_discount_ending', required: Type of consent required for successful renewal.
      - `status` 'pending' | 'granted' | 'voided', required: Status of this consent requirement.
      - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
      - `consent_period` TimePeriod, required
        - `starts_at` string, date-time, required: RFC 3339 datetime string.
        - `ends_at` string, date-time, required: RFC 3339 datetime string.
      - `granted_at` string, date-time, required: RFC 3339 datetime string.
      - `voided_at` string, date-time, required: RFC 3339 datetime string.
    - `next_transaction` object, nullable: Preview of the next transaction for this subscription. May include prorated charges that aren't yet billed and one-time charges. `null` if the subscription is scheduled to cancel or pause.
      - `billing_period` TimePeriod, required
        - `starts_at` string, date-time, required: RFC 3339 datetime string.
        - `ends_at` string, date-time, required: RFC 3339 datetime string.
      - `details` TransactionPreviewDetails, required: Calculated totals for a transaction preview, including discounts, tax, and currency conversion. Considered the source of truth for totals on a transaction preview.
        - `tax_rates_used` TransactionPreviewDetailsTaxRatesUsedItem[], required: List of tax rates applied to this transaction preview.
          - `tax_rate` string, required: Rate used to calculate tax for this transaction preview.
          - `totals` Totals, required: Breakdown of a charge in the lowest denomination of a currency (e.g. cents for USD).
            - `subtotal` string, required: Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
            - `discount` string, required: Total discount as a result of any discounts applied. Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
            - `tax` string, required: Total tax on the subtotal.
            - `total` string, required: Total after discount and tax.
        - `totals` TransactionTotals, required: Breakdown of the total for a transaction. These numbers can be negative when dealing with subscription updates that result in credit.
          - `subtotal` string, required: Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
          - `discount` string, required: Total discount as a result of any discounts applied. Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
          - `tax` string, required: Total tax on the subtotal.
          - `total` string, required: Total after discount and tax.
          - `credit` string, required: Total credit applied to this transaction. This includes credits applied using a customer's credit balance and adjustments to a `billed` transaction.
          - `credit_to_balance` string, required: Additional credit generated from negative `details.line_items`. This credit is added to the customer balance.
          - `balance` string, required: Total due on a transaction after credits and any payments.
          - `grand_total` string, required: Total due on a transaction after credits but before any payments.
          - `grand_total_tax` string, required: Net tax amount included in `grand_total`. Equals the full `tax` amount unless credits are applied, in which case this value is proportionally reduced.
          - `fee` string, nullable, required: Total fee taken by Paddle for this transaction. `null` until the transaction is `completed` and the fee is processed.
          - `earnings` string, nullable, required: Total earnings for this transaction. This is the total minus the Paddle fee. `null` until the transaction is `completed` and the fee is processed.
          - `currency_code` 'USD' | 'EUR' | 'GBP' | 'JPY' | 'AUD' | 'CAD' | 'CHF' | 'HKD' | 'SGD' | 'SEK' | 'ARS' | 'BRL' | 'CLP' | 'CNY' | 'COP' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'NOK' | 'NZD' | 'PEN' | 'PLN' | 'RUB' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'VND' | 'ZAR', required: Supported three-letter ISO 4217 currency code.
        - `line_items` TransactionPreviewLineItem[], required: Information about line items for this transaction preview. Different from transaction preview `items` as they include totals calculated by Paddle. Considered the source of truth for line item totals.
          - `price_id` string, required: Unique Paddle ID for this price, prefixed with `pri_`.
          - `quantity` integer, required: Quantity of this transaction line item.
          - `tax_rate` string, required: Rate used to calculate tax for this transaction line item.
          - `unit_totals` Totals, required: Breakdown of a charge in the lowest denomination of a currency (e.g. cents for USD).
            - `subtotal` string, required: Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
            - `discount` string, required: Total discount as a result of any discounts applied. Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
            - `tax` string, required: Total tax on the subtotal.
            - `total` string, required: Total after discount and tax.
          - `totals` Totals, required: Breakdown of a charge in the lowest denomination of a currency (e.g. cents for USD).
            - `subtotal` string, required: Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
            - `discount` string, required: Total discount as a result of any discounts applied. Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
            - `tax` string, required: Total tax on the subtotal.
            - `total` string, required: Total after discount and tax.
          - `product` ProductPreview, required: Represents a product (preview) entity.
            - `id` string, required: Unique Paddle ID for this product, prefixed with `pro_`.
            - `name` string, required: Name of this product.
            - `description` string, nullable, required: Short description for this product.
            - `type` 'custom' | 'standard', required: Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard.
            - `tax_category` 'digital-goods' | 'ebooks' | 'implementation-services' | 'professional-services' | 'saas' | 'software-programming-services' | 'standard' | 'training-services' | 'website-hosting', required: Tax category for this product. Used for charging the correct rate of tax. Selected tax category must be enabled on your Paddle account.
            - `image_url` union, required: Image for this product. Included in the checkout and on some customer documents.
              - …
            - `custom_data` CustomData, required: Your own structured key-value data.
            - `status` 'active' | 'archived', required: Whether this entity can be used in Paddle.
            - `import_meta` object, nullable, required: Import information for this entity. `null` if this entity is not imported.
              - …
            - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
            - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
          - `proration` TransactionItemProration, required: How proration was calculated for this item. Populated when a transaction is created from a subscription change, where `proration_billing_mode` was `prorated_immediately` or `prorated_next_billing_period`. Set automatically by Paddle.
            - `rate` string, required: Rate used to calculate proration.
            - `billing_period` TimePeriod, required
              - …
      - `adjustments` AdjustmentPreview[], required: Preview of adjustments for the next transaction.
        - `transaction_id` string, required: Unique Paddle ID for this transaction entity, prefixed with `txn_`.
        - `items` AdjustmentItem[], required: List of transaction items that this adjustment is for.
          - `item_id` string, required: Unique Paddle ID for this transaction item, prefixed with `txnitm_`. Used when working with [adjustments](https://developer.paddle.com/build/transactions/create-transaction-adjustments).
          - `type` 'full' | 'partial' | 'tax' | 'proration', required: Type of adjustment for this transaction item. `tax` adjustments are automatically created by Paddle. Include `amount` when creating a `partial` adjustment.
          - `amount` string, nullable, required: Amount adjusted for this transaction item. Required when item `type` is `partial`.
          - `proration` TransactionItemProration, required: How proration was calculated for this item. Populated when a transaction is created from a subscription change, where `proration_billing_mode` was `prorated_immediately` or `prorated_next_billing_period`. Set automatically by Paddle.
            - `rate` string, required: Rate used to calculate proration.
            - `billing_period` TimePeriod, required
              - …
          - `totals` AdjustmentItemTotals, required: Breakdown of the total for an adjustment item.
            - `subtotal` string, required: Amount multiplied by quantity.
            - `tax` string, required: Total tax on the subtotal.
            - `total` string, required: Total after tax.
        - `totals` AdjustmentTotals, required: Breakdown of the total for an adjustment.
          - `subtotal` string, required: Total before tax. For tax adjustments, the value is 0.
          - `tax` string, required: Total tax on the subtotal.
          - `total` string, required: Total after tax.
          - `fee` string, required: Total fee taken by Paddle for this adjustment.
          - `retained_fee` string: Paddle fees retained for this adjustment.
          - `earnings` string, required: Total earnings. This is the subtotal minus the fee. For tax adjustments, this value is negative, which means a positive effect in the transaction earnings. This is because the fee is originally calculated from the transaction total, so if a tax adjustment is made, then the fee portion of it is returned.
          - `currency_code` 'USD' | 'EUR' | 'GBP' | 'JPY' | 'AUD' | 'CAD' | 'CHF' | 'HKD' | 'SGD' | 'SEK' | 'ARS' | 'BRL' | 'CLP' | 'CNY' | 'COP' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'NOK' | 'NZD' | 'PEN' | 'PLN' | 'RUB' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'VND' | 'ZAR', required: Supported three-letter ISO 4217 currency code.
    - `recurring_transaction_details` TransactionPreviewDetails: Calculated totals for a transaction preview, including discounts, tax, and currency conversion. Considered the source of truth for totals on a transaction preview.
      - `tax_rates_used` TransactionPreviewDetailsTaxRatesUsedItem[], required: List of tax rates applied to this transaction preview.
        - `tax_rate` string, required: Rate used to calculate tax for this transaction preview.
        - `totals` Totals, required: Breakdown of a charge in the lowest denomination of a currency (e.g. cents for USD).
          - `subtotal` string, required: Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
          - `discount` string, required: Total discount as a result of any discounts applied. Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
          - `tax` string, required: Total tax on the subtotal.
          - `total` string, required: Total after discount and tax.
      - `totals` TransactionTotals, required: Breakdown of the total for a transaction. These numbers can be negative when dealing with subscription updates that result in credit.
        - `subtotal` string, required: Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
        - `discount` string, required: Total discount as a result of any discounts applied. Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
        - `tax` string, required: Total tax on the subtotal.
        - `total` string, required: Total after discount and tax.
        - `credit` string, required: Total credit applied to this transaction. This includes credits applied using a customer's credit balance and adjustments to a `billed` transaction.
        - `credit_to_balance` string, required: Additional credit generated from negative `details.line_items`. This credit is added to the customer balance.
        - `balance` string, required: Total due on a transaction after credits and any payments.
        - `grand_total` string, required: Total due on a transaction after credits but before any payments.
        - `grand_total_tax` string, required: Net tax amount included in `grand_total`. Equals the full `tax` amount unless credits are applied, in which case this value is proportionally reduced.
        - `fee` string, nullable, required: Total fee taken by Paddle for this transaction. `null` until the transaction is `completed` and the fee is processed.
        - `earnings` string, nullable, required: Total earnings for this transaction. This is the total minus the Paddle fee. `null` until the transaction is `completed` and the fee is processed.
        - `currency_code` 'USD' | 'EUR' | 'GBP' | 'JPY' | 'AUD' | 'CAD' | 'CHF' | 'HKD' | 'SGD' | 'SEK' | 'ARS' | 'BRL' | 'CLP' | 'CNY' | 'COP' | 'CZK' | 'DKK' | 'HUF' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'NOK' | 'NZD' | 'PEN' | 'PLN' | 'RUB' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'VND' | 'ZAR', required: Supported three-letter ISO 4217 currency code.
      - `line_items` TransactionPreviewLineItem[], required: Information about line items for this transaction preview. Different from transaction preview `items` as they include totals calculated by Paddle. Considered the source of truth for line item totals.
        - `price_id` string, required: Unique Paddle ID for this price, prefixed with `pri_`.
        - `quantity` integer, required: Quantity of this transaction line item.
        - `tax_rate` string, required: Rate used to calculate tax for this transaction line item.
        - `unit_totals` Totals, required: Breakdown of a charge in the lowest denomination of a currency (e.g. cents for USD).
          - `subtotal` string, required: Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
          - `discount` string, required: Total discount as a result of any discounts applied. Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
          - `tax` string, required: Total tax on the subtotal.
          - `total` string, required: Total after discount and tax.
        - `totals` Totals, required: Breakdown of a charge in the lowest denomination of a currency (e.g. cents for USD).
          - `subtotal` string, required: Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
          - `discount` string, required: Total discount as a result of any discounts applied. Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
          - `tax` string, required: Total tax on the subtotal.
          - `total` string, required: Total after discount and tax.
        - `product` ProductPreview, required: Represents a product (preview) entity.
          - `id` string, required: Unique Paddle ID for this product, prefixed with `pro_`.
          - `name` string, required: Name of this product.
          - `description` string, nullable, required: Short description for this product.
          - `type` 'custom' | 'standard', required: Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard.
          - `tax_category` 'digital-goods' | 'ebooks' | 'implementation-services' | 'professional-services' | 'saas' | 'software-programming-services' | 'standard' | 'training-services' | 'website-hosting', required: Tax category for this product. Used for charging the correct rate of tax. Selected tax category must be enabled on your Paddle account.
          - `image_url` union, required: Image for this product. Included in the checkout and on some customer documents.
            - string, uri: A URL to an image.
            - string
          - `custom_data` CustomData, required: Your own structured key-value data.
          - `status` 'active' | 'archived', required: Whether this entity can be used in Paddle.
          - `import_meta` object, nullable, required: Import information for this entity. `null` if this entity is not imported.
            - `external_id` string: Reference or identifier for this entity from the provider where it was imported from.
            - `imported_from` string, required: Name of the platform or provider where this entity was imported from.
          - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
          - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
        - `proration` TransactionItemProration, required: How proration was calculated for this item. Populated when a transaction is created from a subscription change, where `proration_billing_mode` was `prorated_immediately` or `prorated_next_billing_period`. Set automatically by Paddle.
          - `rate` string, required: Rate used to calculate proration.
          - `billing_period` TimePeriod, required
            - `starts_at` string, date-time, required: RFC 3339 datetime string.
            - `ends_at` string, date-time, required: RFC 3339 datetime string.
  - `meta` Meta, required: Information about this response.
    - `request_id` string, required: Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-10-19** (v1) `4f35a8c6ea4d`: 2 breaking, 1 info
  - added `#/components/schemas/CountryCodeNonSupported` to the `data/items/items/price/allOf[subschema #1: Price]/trial_period/anyOf[subschema #1: Price Trial Duration]/unit_price_overrides/items/country_codes/items/` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/CountryCodeNonSupported` to the `data/items/items/price/allOf[subschema #1: Price]/unit_price_overrides/items/country_codes/items/` response property `oneOf` list for the response status `200`
  - added the required property `data/management_urls/allOf[subschema #1: Subscription Management Urls]/view_subscription` to the response with the `200` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/paddlehq/apis/paddle-api/changes/subscriptions/:subscription_id/get.md)

---

[API](https://skmtc.dev/paddlehq/apis/paddle-api.md) - [All operations](https://skmtc.dev/paddlehq/apis/paddle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paddlehq/apis/paddle-api/revisions/bbc0c72039c8?raw)
