> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# GET /subscriptions/{subscription_id}/history

**List history for a subscription**

Returns a paginated list of history entries for a subscription. Use the query parameters to filter and page through results.

Subscription history records the changes made to a subscription over its lifetime, so you can see what changed, when it happened, where it originated, and who made the change. Each change is a separate history entry, and some entries also include a reason.

Paddle began recording subscription history on June 29, 2026. For subscriptions that existed before then, Paddle automatically creates `subscription_created` and `subscription_canceled` entries and attempts to infer details from the subscription's initial state.

History entries are ordered by newest first by default (`occurred_at` in descending order).

**Required permissions:** `subscription_history.read`

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `subscription_id` | string | required | (pattern: `^sub_[a-z\d]{26}$`) |

## Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `action` | array | optional | Return history entries that match the specified action. Use a comma-separated list to specify multiple action values. |
| `source` | array | optional | Return history entries that match the specified source. Use a comma-separated list to specify multiple source values. |
| `actor_type` | array | optional | Return history entries that match the specified actor type. Use a comma-separated list to specify multiple actor type values. |
| `actor_id` | array | optional | Return history entries that match the specified actor ID. Use a comma-separated list to specify multiple actor ID values. Only applicable if `actor_type` is also selected. |
| `reason` | array | optional | Return history entries that match the specified reason. Use a comma-separated list to specify multiple reason values. |
| `occurred_at` | string | optional | Return entities that occurred at a specific time. Use `[LTE]` (less than or equal to) or `[GTE]` (greater than or equal to) operators with an RFC 3339 datetime string. For example, `occurred_at[LTE]=2023-04-18T17:03:26` or `occurred_at[GTE]=2023-04-18T17:03:26`. |
| `after` | string | optional | Return entities after the specified Paddle ID when working with paginated endpoints. Used in the `meta.pagination.next` URL in responses for list operations. |
| `per_page` | integer | optional | Set how many entities are returned per page. Paddle returns the maximum number of results if a number greater than the maximum is requested. Check `meta.pagination.per_page` in the response to see how many were returned.

Default: `50`; Maximum: `200`. (Max: 200; default: `50`) |
| `order_by` | string | optional | Order returned entities by the specified field and direction (`[ASC]` or `[DESC]`). For example, `?order_by=occurred_at[DESC]`.

Valid fields for ordering: `occurred_at`. (default: `"occurred_at[DESC]"`) |

Values for `action`:

- `subscription_activated` — Return history entries where the action is `subscription_activated`. The subscription's status became `active`.
- `subscription_address_updated` — Return history entries where the action is `subscription_address_updated`. The address on the subscription was changed.
- `subscription_billing_cycle_updated` — Return history entries where the action is `subscription_billing_cycle_updated`. The billing cycle that sets how often the subscription renews was changed.
- `subscription_billing_date_updated` — Return history entries where the action is `subscription_billing_date_updated`. The date the subscription next renews was changed.
- `subscription_billing_details_updated` — Return history entries where the action is `subscription_billing_details_updated`. The billing details for the subscription's invoices were changed.
- `subscription_business_added` — Return history entries where the action is `subscription_business_added`. A business was added to the subscription.
- `subscription_business_removed` — Return history entries where the action is `subscription_business_removed`. The business was removed from the subscription.
- `subscription_business_updated` — Return history entries where the action is `subscription_business_updated`. The business on the subscription was changed.
- `subscription_canceled` — Return history entries where the action is `subscription_canceled`. The subscription's status became `canceled`.
- `subscription_collection_mode_updated` — Return history entries where the action is `subscription_collection_mode_updated`. How the subscription is collected, automatically or manually, was changed.
- `subscription_consent_requirement_granted` — Return history entries where the action is `subscription_consent_requirement_granted`. A consent requirement on the subscription was granted.
- `subscription_created` — Return history entries where the action is `subscription_created`. The subscription was created.
- `subscription_currency_updated` — Return history entries where the action is `subscription_currency_updated`. The currency the subscription is billed in was changed.
- `subscription_custom_data_updated` — Return history entries where the action is `subscription_custom_data_updated`. The custom data on the subscription was changed.
- `subscription_customer_updated` — Return history entries where the action is `subscription_customer_updated`. The customer the subscription belongs to was changed.
- `subscription_discount_added` — Return history entries where the action is `subscription_discount_added`. A discount was added to the subscription.
- `subscription_discount_expired` — Return history entries where the action is `subscription_discount_expired`. A discount on the subscription reached its end date and expired.
- `subscription_discount_removed` — Return history entries where the action is `subscription_discount_removed`. A discount was removed from the subscription.
- `subscription_item_added` — Return history entries where the action is `subscription_item_added`. An item was added to the subscription.
- `subscription_item_quantity_updated` — Return history entries where the action is `subscription_item_quantity_updated`. The quantity of an item on the subscription was changed.
- `subscription_item_removed` — Return history entries where the action is `subscription_item_removed`. An item was removed from the subscription.
- `subscription_one_off_charge_applied` — Return history entries where the action is `subscription_one_off_charge_applied`. A one-time charge was applied to the subscription.
- `subscription_past_due` — Return history entries where the action is `subscription_past_due`. The subscription's status became `past_due` after a payment failed.
- `subscription_paused` — Return history entries where the action is `subscription_paused`. The subscription's status became `paused`.
- `subscription_payment_attempted` — Return history entries where the action is `subscription_payment_attempted`. A payment for a change to the subscription was attempted and failed.
- `subscription_payment_method_added` — Return history entries where the action is `subscription_payment_method_added`. A payment method was added to the subscription.
- `subscription_payment_method_removed` — Return history entries where the action is `subscription_payment_method_removed`. A payment method was removed from the subscription.
- `subscription_payment_method_updated` — Return history entries where the action is `subscription_payment_method_updated`. The payment method on the subscription was changed.
- `subscription_renewed` — Return history entries where the action is `subscription_renewed`. The subscription renewed for a new billing period.
- `subscription_resumed` — Return history entries where the action is `subscription_resumed`. The subscription's status became `active` after being paused.
- `subscription_scheduled_change_added` — Return history entries where the action is `subscription_scheduled_change_added`. A scheduled change was added to the subscription.
- `subscription_scheduled_change_removed` — Return history entries where the action is `subscription_scheduled_change_removed`. A scheduled change was removed from the subscription.
- `subscription_scheduled_change_updated` — Return history entries where the action is `subscription_scheduled_change_updated`. A scheduled change on the subscription was changed.

Values for `source`:

- `system` — Return history entries where the source is `system`. The entry originated from an internal system process.
- `api` — Return history entries where the source is `api`. The entry originated from the Paddle API.
- `dashboard` — Return history entries where the source is `dashboard`. The entry originated from the dashboard.
- `customer_portal` — Return history entries where the source is `customer_portal`. The entry originated from the customer portal.
- `support_bot` — Return history entries where the source is `support_bot`. The entry originated from Paddle.net.
- `retain` — Return history entries where the source is `retain`. The entry originated from Paddle Retain.
- `checkout` — Return history entries where the source is `checkout`. The entry originated from Paddle Checkout.
- `external_provider` — Return history entries where the source is `external_provider`. The entry originated from an import from an external provider.
- `paddle_classic` — Return history entries where the source is `paddle_classic`. The entry originated from an import from Paddle Classic.
- `unknown` — Return history entries where the source is `unknown`. The entry happened before history recording began and its source couldn't be determined.

Values for `actor_type`:

- `customer` — Return history entries where the actor type is `customer`. The action was performed by a customer.
- `user` — Return history entries where the actor type is `user`. The action was performed by a Paddle user account.
- `api_key` — Return history entries where the actor type is `api_key`. The action was performed by an API key.
- `paddle_staff` — Return history entries where the actor type is `paddle_staff`. The action was performed by a member of the Paddle team.
- `publisher` — Return history entries where the actor type is `publisher`. The action was performed by a publisher (app) acting on behalf of a user or seller.
- `system` — Return history entries where the actor type is `system`. The action was performed by an internal system process.

Values for `reason`:

- `cardless_trial_ended` — Return history entries where the reason is `cardless_trial_ended`.
- `import_issue` — Return history entries where the reason is `import_issue`.
- `missing_consent` — Return history entries where the reason is `missing_consent`.
- `seller_request` — Return history entries where the reason is `seller_request`.
- `customer_request` — Return history entries where the reason is `customer_request`.
- `chargeback` — Return history entries where the reason is `chargeback`.

## Response (200)

- `data`: array (required)
  - `id`: string (required) — Unique Paddle ID for this subscription history entry, prefixed with `subhis_`. (pattern: `^subhis_[a-z\d]{26}$`)
  - `group_id`: string (required) — Unique Paddle ID for this subscription history group, prefixed with `subhisgrp_`. History entries that occurred as part of the same request share the same group ID. (pattern: `^subhisgrp_[a-z\d]{26}$`)
  - `subscription_id`: string (required) — Paddle ID of the subscription that this history entry relates to, prefixed with `sub_`. (pattern: `^sub_[a-z\d]{26}$`)
  - `occurred_at`: string (date-time) (required) — RFC 3339 datetime string of when the entry happened.
  - `source`: string (required) — Where the entry originated from.
    - `system` — Entry originated from an internal system process.
    - `api` — Entry originated from the Paddle API.
    - `dashboard` — Entry originated from the dashboard.
    - `customer_portal` — Entry originated from the customer portal.
    - `support_bot` — Entry originated from Paddle.net.
    - `retain` — Entry originated from Paddle Retain.
    - `checkout` — Entry originated from Paddle Checkout.
    - `external_provider` — Entry originated from an import from an external provider.
    - `paddle_classic` — Entry originated from an import from Paddle Classic.
    - `unknown` — Entry happened before history recording began. Its source couldn't be determined.
  - `actor`: object (required) — Details about the actor that performed the action that created this entry.
    - `type`: string (required) — The type of actor that performed this action.
      - `customer` — Action was performed by a customer.
      - `user` — Action was performed by a Paddle user account.
      - `api_key` — Action was performed by an API key.
      - `paddle_staff` — Action was performed by a member of the Paddle team.
      - `publisher` — Action was performed by a publisher (app) acting on behalf of a user or seller.
      - `system` — Action was performed by an internal system process.
    - `id` (required) — The ID of the actor in relation to the `type`. `null` where the type of actor doesn't have an ID.
  - `reason` (required) — Why the entry was created. Only applicable to certain actions; `null` otherwise.
    - `cardless_trial_ended` — The subscription was a cardless trial and was automatically canceled because no payment method was added. Relates to `subscription_canceled` actions.
    - `import_issue` — The subscription was canceled because of an issue during import. Relates to `subscription_canceled` actions.
    - `missing_consent` — The subscription was automatically canceled because the customer didn't grant a required consent to continue. Relates to `subscription_canceled` actions.
    - `seller_request` — A Paddle user on your account requested that Paddle cancel this subscription. Relates to `subscription_canceled` actions.
    - `customer_request` — The customer requested that Paddle cancel this subscription. Relates to `subscription_canceled` actions.
    - `chargeback` — The subscription was automatically canceled because of a chargeback on one of its transactions. Relates to `subscription_canceled` actions.
  - `detail`: object (required) — Details specific to the action. The fields returned depend on the value of `action`.
    - Activated — Details specific to `subscription_activated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_activated` — The subscription's status became `active`.
      - `status`: string (required) — Status of the subscription after activation.
        - `active` — Subscription is active. Paddle is billing for this subscription and related transactions aren't past due.
        - `canceled` — Subscription is canceled. Automatically set by Paddle when a subscription is canceled. When a subscription is set to cancel on the next billing period, a scheduled change for the cancellation is created. The subscription status moves to canceled when the scheduled change takes effect.
        - `past_due` — Subscription has an overdue payment. Automatically set by Paddle when payment fails for an automatically-collected transaction, or when payment terms have elapsed for a manually-collected transaction (an invoice).
        - `paused` — Subscription is paused. Automatically set by Paddle when a subscription is paused. When a subscription is set to pause on the next billing period, a scheduled change for the pause is created. The subscription status moves to `paused` when the scheduled change takes effect.
        - `trialing` — Subscription is in trial.
      - `first_billed_at` (required) — RFC 3339 datetime string of when the subscription was first billed. `null` when the subscription has never been billed — for example, an imported subscription recovering from `past_due`.
      - `next_billed_at` (required) — RFC 3339 datetime string of when the subscription was next scheduled to be billed at the time of activation. `null` when the subscription has no next billing date — for example, a recovered `past_due` subscription that is scheduled to cancel or pause.
      - `current_billing_period`: object (required) — Billing period of the subscription at the time of activation.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when this period starts.
        - `ends_at`: string (date-time) (required) — RFC 3339 datetime string of when this period ends.
      - `transaction_id`: string (required) — Paddle ID of the transaction that activated the subscription, prefixed with `txn_`. (pattern: `^txn_[a-z\d]{26}$`)
    - Address updated — Details specific to `subscription_address_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_address_updated` — The address on the subscription was changed.
      - `address`: object (required) — Updated address against the subscription. This is what the address was changed to.
        - `id`: string (required) — Unique Paddle ID for this address entity, prefixed with `add_`. (pattern: `^add_[a-z\d]{26}$`)
        - `customer_id`: string (required) — Paddle ID for the customer related to this address, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
        - `description` (required)
        - `first_line` (required)
        - `second_line` (required)
        - `city` (required)
        - `postal_code` (required)
        - `region` (required)
        - `country_code`: string (required) — Supported two-letter ISO 3166-1 alpha-2 country code for this address.
          - `AD` — Andorra
          - `AE` — United Arab Emirates
          - `AG` — Antigua and Barbuda
          - `AI` — Anguilla
          - `AL` — Albania
          - `AM` — Armenia
          - `AO` — Angola
          - `AR` — Argentina
          - `AS` — American Samoa
          - `AT` — Austria
          - `AU` — Australia
          - `AW` — Aruba
          - `AX` — Åland Islands
          - `AZ` — Azerbaijan
          - `BA` — Bosnia and Herzegovina
          - `BB` — Barbados
          - `BD` — Bangladesh
          - `BE` — Belgium
          - `BF` — Burkina Faso
          - `BG` — Bulgaria
          - `BH` — Bahrain
          - `BI` — Burundi
          - `BJ` — Benin
          - `BL` — Saint Barthélemy
          - `BM` — Bermuda
          - `BN` — Brunei
          - `BO` — Bolivia
          - `BQ` — Caribbean Netherlands (Bonaire, Sint Eustatius, and Saba)
          - `BR` — Brazil
          - `BS` — Bahamas
          - `BT` — Bhutan
          - `BV` — Bouvet Island
          - `BW` — Botswana
          - `BZ` — Belize
          - `CA` — Canada
          - `CC` — Cocos Islands
          - `CG` — Republic of Congo
          - `CH` — Switzerland
          - `CI` — Côte d'Ivoire (Ivory Coast)
          - `CK` — Cook Islands
          - `CL` — Chile
          - `CM` — Cameroon
          - `CN` — China
          - `CO` — Colombia
          - `CR` — Costa Rica
          - `CV` — Cape Verde
          - `CW` — Curaçao
          - `CX` — Christmas Island
          - `CY` — Cyprus
          - `CZ` — Czechia (Czech Republic)
          - `DE` — Germany
          - `DJ` — Djibouti
          - `DK` — Denmark
          - `DM` — Dominica
          - `DO` — Dominican Republic
          - `DZ` — Algeria
          - `EC` — Ecuador
          - `EE` — Estonia
          - `EG` — Egypt
          - `EH` — Western Sahara
          - `ER` — Eritrea
          - `ES` — Spain
          - `ET` — Ethiopia
          - `FI` — Finland
          - `FJ` — Fiji
          - `FK` — Falkland Islands
          - `FM` — Micronesia
          - `FO` — Faroe Islands
          - `FR` — France
          - `GA` — Gabon
          - `GB` — United Kingdom
          - `GD` — Grenada
          - `GE` — Georgia
          - `GF` — French Guiana
          - `GG` — Guernsey
          - `GH` — Ghana
          - `GI` — Gibraltar
          - `GL` — Greenland
          - `GM` — Gambia
          - `GN` — Guinea
          - `GP` — Guadeloupe
          - `GQ` — Equatorial Guinea
          - `GR` — Greece
          - `GS` — South Georgia and the South Sandwich Islands
          - `GT` — Guatemala
          - `GU` — Guam
          - `GW` — Guinea-Bissau
          - `GY` — Guyana
          - `HK` — Hong Kong
          - `HM` — Heard Island and McDonald Islands
          - `HN` — Honduras
          - `HR` — Croatia
          - `HU` — Hungary
          - `ID` — Indonesia
          - `IE` — Ireland
          - `IL` — Israel
          - `IM` — Isle of Man
          - `IN` — India
          - `IO` — British Indian Ocean Territory
          - `IQ` — Iraq
          - `IS` — Iceland
          - `IT` — Italy
          - `JE` — Jersey
          - `JM` — Jamaica
          - `JO` — Jordan
          - `JP` — Japan
          - `KE` — Kenya
          - `KG` — Kyrgyzstan
          - `KH` — Cambodia
          - `KI` — Kiribati
          - `KM` — Comoros
          - `KN` — Saint Kitts and Nevis
          - `KR` — South Korea
          - `KW` — Kuwait
          - `KY` — Cayman Islands
          - `KZ` — Kazakhstan
          - `LA` — Lao People's Democratic Republic (Laos)
          - `LB` — Lebanon
          - `LC` — Saint Lucia
          - `LI` — Liechtenstein
          - `LK` — Sri Lanka
          - `LR` — Liberia
          - `LS` — Lesotho
          - `LT` — Lithuania
          - `LU` — Luxembourg
          - `LV` — Latvia
          - `MA` — Morocco
          - `MC` — Monaco
          - `MD` — Moldova
          - `ME` — Montenegro
          - `MF` — Saint Martin
          - `MG` — Madagascar
          - `MH` — Marshall Islands
          - `MK` — Macedonia
          - `MN` — Mongolia
          - `MO` — Macao
          - `MP` — Northern Mariana Islands
          - `MQ` — Martinique
          - `MR` — Mauritania
          - `MS` — Montserrat
          - `MT` — Malta
          - `MU` — Mauritius
          - `MV` — Maldives
          - `MW` — Malawi
          - `MX` — Mexico
          - `MY` — Malaysia
          - `MZ` — Mozambique
          - `NA` — Namibia
          - `NC` — New Caledonia
          - `NE` — Niger
          - `NF` — Norfolk Island
          - `NG` — Nigeria
          - `NL` — Netherlands
          - `NO` — Norway
          - `NP` — Nepal
          - `NR` — Nauru
          - `NU` — Niue
          - `NZ` — New Zealand
          - `OM` — Oman
          - `PA` — Panama
          - `PE` — Peru
          - `PF` — French Polynesia
          - `PG` — Papua New Guinea
          - `PH` — Philippines
          - `PK` — Pakistan
          - `PL` — Poland
          - `PM` — Saint Pierre and Miquelon
          - `PN` — Pitcairn
          - `PR` — Puerto Rico
          - `PS` — Palestinian territories
          - `PT` — Portugal
          - `PW` — Palau
          - `PY` — Paraguay
          - `QA` — Qatar
          - `RE` — Reunion
          - `RO` — Romania
          - `RS` — Republic of Serbia
          - `RW` — Rwanda
          - `SA` — Saudi Arabia
          - `SB` — Solomon Islands
          - `SC` — Seychelles
          - `SE` — Sweden
          - `SG` — Singapore
          - `SH` — Saint Helena
          - `SI` — Slovenia
          - `SJ` — Svalbard and Jan Mayen
          - `SK` — Slovakia
          - `SL` — Sierra Leone
          - `SM` — San Marino
          - `SN` — Senegal
          - `SR` — Suriname
          - `ST` — São Tomé and Príncipe
          - `SV` — El Salvador
          - `SX` — Sint Maarten
          - `SZ` — Swaziland
          - `TC` — Turks and Caicos Islands
          - `TD` — Chad
          - `TF` — French Southern and Antarctic Lands
          - `TG` — Togo
          - `TH` — Thailand
          - `TJ` — Tajikistan
          - `TK` — Tokelau
          - `TL` — Timor-Leste
          - `TM` — Turkmenistan
          - `TN` — Tunisia
          - `TO` — Tonga
          - `TR` — Turkey
          - `TT` — Trinidad and Tobago
          - `TV` — Tuvalu
          - `TW` — Taiwan
          - `TZ` — Tanzania
          - `UA` — Ukraine
          - `UG` — Uganda
          - `UM` — United States Minor Outlying Islands
          - `US` — United States
          - `UY` — Uruguay
          - `UZ` — Uzbekistan
          - `VA` — Holy See (Vatican City)
          - `VC` — Saint Vincent and the Grenadines
          - `VG` — British Virgin Islands
          - `VI` — U.S. Virgin Islands
          - `VN` — Vietnam
          - `VU` — Vanuatu
          - `WF` — Wallis and Futuna
          - `WS` — Samoa
          - `XK` — Kosovo
          - `YT` — Mayotte
          - `ZA` — South Africa
          - `ZM` — Zambia
        - `custom_data` (required) — Your own structured key-value data.
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `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.
        - `import_meta` (required)
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
    - Billing cycle updated — Details specific to `subscription_billing_cycle_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_billing_cycle_updated` — The billing cycle that sets how often the subscription renews was changed.
      - `billing_cycle`: object (required) — Updated billing cycle of the subscription. This is what the billing cycle was changed to.
        - `interval`: string (required) — Unit of time.
          - `day`
          - `week`
          - `month`
          - `year`
        - `frequency`: integer (required) — Amount of time. (Min: 1)
      - `current_billing_period`: object (required) — Billing period of the subscription after the billing cycle was updated.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when this period starts.
        - `ends_at`: string (date-time) (required) — RFC 3339 datetime string of when this period ends.
      - `next_billed_at` (required) — RFC 3339 datetime string of when the subscription was next scheduled to be billed after the billing cycle was updated. `null` if the subscription has no next billing date (for example, paused without a scheduled resume).
    - Billing date updated — Details specific to `subscription_billing_date_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_billing_date_updated` — The date the subscription next renews was changed.
      - `next_billed_at` (required) — RFC 3339 datetime string of the updated billing date. `null` when the subscription has no upcoming billing date, for example when a scheduled pause or cancellation means it will not be billed again.
      - `current_billing_period`: object (required) — Billing period of the subscription after the billing date was updated.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when this period starts.
        - `ends_at`: string (date-time) (required) — RFC 3339 datetime string of when this period ends.
      - `transaction_id` (required) — Paddle ID of the transaction created as a result of the billing date change, prefixed with `txn_`. `null` if no transaction was created.
      - `proration_billing_mode`: string (required) — How proration was calculated for this billing date change.
        - `prorated_immediately` — Paddle calculates the prorated amount for the subscription changes based on the current billing cycle, then
creates a transaction to collect immediately.
        - `prorated_next_billing_period` — Paddle calculates the prorated amount for the subscription changes based on the current billing cycle, then
schedules them to be billed on the next renewal.
        - `full_immediately` — Paddle does not calculate proration for the subscription changes, creating a transaction to collect for the full
amount immediately.
        - `full_next_billing_period` — Paddle does not calculate proration for the subscription changes, scheduling for the full amount for the changes
to be billed on the next renewal.
        - `do_not_bill` — Paddle does not bill for the subscription changes.
    - Billing details updated — Details specific to `subscription_billing_details_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_billing_details_updated` — The billing details for the subscription's invoices were changed.
      - `billing_details`: object (required) — Updated billing details on the subscription. This is what the billing details were changed to.
        - `enable_checkout`: boolean (required) — Whether the related transaction may be paid using Paddle Checkout. If omitted when creating a transaction, defaults to `false`. (default: `false`)
        - `purchase_order_number`: string (required) — Customer purchase order number. Appears on invoice documents. (Max length: 100)
        - `additional_information` (required) — Notes or other information to include on this invoice. Appears on invoice documents. (Max length: 1500)
        - `payment_terms`: object (required) — How long a customer has to pay this invoice once issued.
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
    - Business added — Details specific to `subscription_business_added` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_business_added` — A business was added to the subscription.
      - `business`: object (required) — New business on the subscription.
        - `id`: string (required) — Unique Paddle ID for this business entity, prefixed with `biz_`. (pattern: `^biz_[a-z\d]{26}$`)
        - `customer_id`: string (required) — Paddle ID for the customer related to this business, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
        - `name`: string (required) — Name of this business. (Length: 1–1024)
        - `company_number` (required) — Company number for this business. (Max length: 1024)
        - `tax_identifier` (required) — Tax or VAT Number for this business. (Max length: 1024)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `contacts`: array (required) — List of contacts related to this business, typically used for sending invoices. (Items: max 100, unique)
          - `name`: string (required) — Full name of this contact. (Max length: 1024)
          - `email`: string (email) (required) — Email address for this contact. (Length: 1–320)
        - `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` (required) — Your own structured key-value data.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
    - Business removed — Details specific to `subscription_business_removed` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_business_removed` — The business was removed from the subscription.
      - `business`: object (required) — Business that was removed from the subscription.
        - `id`: string (required) — Unique Paddle ID for this business entity, prefixed with `biz_`. (pattern: `^biz_[a-z\d]{26}$`)
        - `customer_id`: string (required) — Paddle ID for the customer related to this business, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
        - `name`: string (required) — Name of this business. (Length: 1–1024)
        - `company_number` (required) — Company number for this business. (Max length: 1024)
        - `tax_identifier` (required) — Tax or VAT Number for this business. (Max length: 1024)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `contacts`: array (required) — List of contacts related to this business, typically used for sending invoices. (Items: max 100, unique)
          - `name`: string (required) — Full name of this contact. (Max length: 1024)
          - `email`: string (email) (required) — Email address for this contact. (Length: 1–320)
        - `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` (required) — Your own structured key-value data.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
    - Business updated — Details specific to `subscription_business_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_business_updated` — The business on the subscription was changed.
      - `business`: object (required) — Updated business on the subscription. This is what the business was changed to.
        - `id`: string (required) — Unique Paddle ID for this business entity, prefixed with `biz_`. (pattern: `^biz_[a-z\d]{26}$`)
        - `customer_id`: string (required) — Paddle ID for the customer related to this business, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
        - `name`: string (required) — Name of this business. (Length: 1–1024)
        - `company_number` (required) — Company number for this business. (Max length: 1024)
        - `tax_identifier` (required) — Tax or VAT Number for this business. (Max length: 1024)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `contacts`: array (required) — List of contacts related to this business, typically used for sending invoices. (Items: max 100, unique)
          - `name`: string (required) — Full name of this contact. (Max length: 1024)
          - `email`: string (email) (required) — Email address for this contact. (Length: 1–320)
        - `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` (required) — Your own structured key-value data.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
    - Canceled — Details specific to `subscription_canceled` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_canceled` — The subscription's status became `canceled`.
      - `effective_from` (required) — Whether the subscription was canceled immediately, or scheduled to cancel.
        - `immediately` — The subscription was canceled immediately.
        - `next_billing_period` — The subscription was scheduled to cancel at the next billing period.
    - Collection mode updated — Details specific to `subscription_collection_mode_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_collection_mode_updated` — How the subscription is collected, automatically or manually, was changed.
      - `collection_mode`: string (required) — How payment is collected for this subscription. This is what the collection mode was changed to.
        - `automatic` — Payment is collected automatically using a checkout initially, then using a payment method on file.
        - `manual` — Payment is collected manually. Customers are sent an invoice with payment terms and can make a payment offline or using a checkout. Requires `billing_details`.
    - Consent requirement granted — Details specific to `subscription_consent_requirement_granted` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_consent_requirement_granted` — A consent requirement on the subscription was granted.
      - `consent_requirement`: object (required) — Details about the consent requirement that was granted.
        - `id`: string (required) — Unique Paddle ID for this subscription consent requirement entity, prefixed with `subconreq_`. (pattern: `^subconreq_[a-z\d]{26}$`)
        - `requirement`: string (required) — Type of consent required for successful renewal.
          - `trial_ending` — Consent required because the trial period is ending.
          - `introductory_discount_ending` — Consent required because an initial discount is ending.
        - `status`: string (required) — Status of this consent requirement.
          - `pending` — Consent not yet granted. Subscription is canceled on next renewal.
          - `granted` — Consent granted. Subscription renews normally.
          - `voided` — Consent voided. Consent requirement is no longer applicable, either because the consent is no longer required, or another consent requirement has replaced it.
        - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
        - `consent_period` (required) — Period during which consent for this subscription can be granted. `null` if there is no `next_billed_at` or the consent requirement does not apply to the current billing period.
          - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when this period starts.
          - `ends_at`: string (date-time) (required) — RFC 3339 datetime string of when this period ends.
        - `granted_at` (required) — RFC 3339 datetime string of when the customer granted their consent. `null` if not yet granted.
        - `voided_at` (required) — RFC 3339 datetime string of when consent was voided or no longer required. `null` if not voided.
    - Created — Details specific to `subscription_created` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_created` — The subscription was created.
      - `status` (required) — Status of the subscription when it was created. `null` if created before history recording began and this couldn't be determined.
        - `active` — Subscription is active. Paddle is billing for this subscription and related transactions aren't past due.
        - `canceled` — Subscription is canceled. Automatically set by Paddle when a subscription is canceled. When a subscription is set to cancel on the next billing period, a scheduled change for the cancellation is created. The subscription status moves to canceled when the scheduled change takes effect.
        - `past_due` — Subscription has an overdue payment. Automatically set by Paddle when payment fails for an automatically-collected transaction, or when payment terms have elapsed for a manually-collected transaction (an invoice).
        - `paused` — Subscription is paused. Automatically set by Paddle when a subscription is paused. When a subscription is set to pause on the next billing period, a scheduled change for the pause is created. The subscription status moves to `paused` when the scheduled change takes effect.
        - `trialing` — Subscription is in trial.
      - `collection_mode` (required) — The collection mode of the subscription when it was created.
        - `automatic` — Payment is collected automatically using a checkout initially, then using a payment method on file.
        - `manual` — Payment is collected manually. Customers are sent an invoice with payment terms and can make a payment offline or using a checkout. Requires `billing_details`.
      - `billing_details` (required) — Details for invoicing. Only returned for manually-collected subscriptions (`collection_mode: manual`).
        - `enable_checkout`: boolean (required) — Whether the related transaction may be paid using Paddle Checkout. If omitted when creating a transaction, defaults to `false`. (default: `false`)
        - `purchase_order_number`: string (required) — Customer purchase order number. Appears on invoice documents. (Max length: 100)
        - `additional_information` (required) — Notes or other information to include on this invoice. Appears on invoice documents. (Max length: 1500)
        - `payment_terms`: object (required) — How long a customer has to pay this invoice once issued.
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
      - `customer` (required) — Customer for the subscription when it was created.
        - `id`: string (required) — Unique Paddle ID for this customer entity, prefixed with `ctm_`. (pattern: `^ctm_[a-z\d]{26}$`)
        - `name` (required) — Full name of this customer. Required when creating transactions where `collection_mode` is `manual` (invoices).
        - `email`: string (email) (required) — Email address for this customer. (Length: 1–320)
        - `marketing_consent`: boolean (required) — Whether this customer opted into marketing from you. `false` unless customers check the marketing consent box
when using Paddle Checkout. Set automatically by Paddle. (default: `false`)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `custom_data` (required) — Your own structured key-value data.
        - `locale`: string (required) — Valid IETF BCP 47 short form locale tag. If omitted, defaults to `en`. (default: `"en"`)
        - `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.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
      - `address` (required) — Address for the subscription when it was created.
        - `id`: string (required) — Unique Paddle ID for this address entity, prefixed with `add_`. (pattern: `^add_[a-z\d]{26}$`)
        - `customer_id`: string (required) — Paddle ID for the customer related to this address, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
        - `description` (required)
        - `first_line` (required)
        - `second_line` (required)
        - `city` (required)
        - `postal_code` (required)
        - `region` (required)
        - `country_code`: string (required) — Supported two-letter ISO 3166-1 alpha-2 country code for this address.
          - `AD` — Andorra
          - `AE` — United Arab Emirates
          - `AG` — Antigua and Barbuda
          - `AI` — Anguilla
          - `AL` — Albania
          - `AM` — Armenia
          - `AO` — Angola
          - `AR` — Argentina
          - `AS` — American Samoa
          - `AT` — Austria
          - `AU` — Australia
          - `AW` — Aruba
          - `AX` — Åland Islands
          - `AZ` — Azerbaijan
          - `BA` — Bosnia and Herzegovina
          - `BB` — Barbados
          - `BD` — Bangladesh
          - `BE` — Belgium
          - `BF` — Burkina Faso
          - `BG` — Bulgaria
          - `BH` — Bahrain
          - `BI` — Burundi
          - `BJ` — Benin
          - `BL` — Saint Barthélemy
          - `BM` — Bermuda
          - `BN` — Brunei
          - `BO` — Bolivia
          - `BQ` — Caribbean Netherlands (Bonaire, Sint Eustatius, and Saba)
          - `BR` — Brazil
          - `BS` — Bahamas
          - `BT` — Bhutan
          - `BV` — Bouvet Island
          - `BW` — Botswana
          - `BZ` — Belize
          - `CA` — Canada
          - `CC` — Cocos Islands
          - `CG` — Republic of Congo
          - `CH` — Switzerland
          - `CI` — Côte d'Ivoire (Ivory Coast)
          - `CK` — Cook Islands
          - `CL` — Chile
          - `CM` — Cameroon
          - `CN` — China
          - `CO` — Colombia
          - `CR` — Costa Rica
          - `CV` — Cape Verde
          - `CW` — Curaçao
          - `CX` — Christmas Island
          - `CY` — Cyprus
          - `CZ` — Czechia (Czech Republic)
          - `DE` — Germany
          - `DJ` — Djibouti
          - `DK` — Denmark
          - `DM` — Dominica
          - `DO` — Dominican Republic
          - `DZ` — Algeria
          - `EC` — Ecuador
          - `EE` — Estonia
          - `EG` — Egypt
          - `EH` — Western Sahara
          - `ER` — Eritrea
          - `ES` — Spain
          - `ET` — Ethiopia
          - `FI` — Finland
          - `FJ` — Fiji
          - `FK` — Falkland Islands
          - `FM` — Micronesia
          - `FO` — Faroe Islands
          - `FR` — France
          - `GA` — Gabon
          - `GB` — United Kingdom
          - `GD` — Grenada
          - `GE` — Georgia
          - `GF` — French Guiana
          - `GG` — Guernsey
          - `GH` — Ghana
          - `GI` — Gibraltar
          - `GL` — Greenland
          - `GM` — Gambia
          - `GN` — Guinea
          - `GP` — Guadeloupe
          - `GQ` — Equatorial Guinea
          - `GR` — Greece
          - `GS` — South Georgia and the South Sandwich Islands
          - `GT` — Guatemala
          - `GU` — Guam
          - `GW` — Guinea-Bissau
          - `GY` — Guyana
          - `HK` — Hong Kong
          - `HM` — Heard Island and McDonald Islands
          - `HN` — Honduras
          - `HR` — Croatia
          - `HU` — Hungary
          - `ID` — Indonesia
          - `IE` — Ireland
          - `IL` — Israel
          - `IM` — Isle of Man
          - `IN` — India
          - `IO` — British Indian Ocean Territory
          - `IQ` — Iraq
          - `IS` — Iceland
          - `IT` — Italy
          - `JE` — Jersey
          - `JM` — Jamaica
          - `JO` — Jordan
          - `JP` — Japan
          - `KE` — Kenya
          - `KG` — Kyrgyzstan
          - `KH` — Cambodia
          - `KI` — Kiribati
          - `KM` — Comoros
          - `KN` — Saint Kitts and Nevis
          - `KR` — South Korea
          - `KW` — Kuwait
          - `KY` — Cayman Islands
          - `KZ` — Kazakhstan
          - `LA` — Lao People's Democratic Republic (Laos)
          - `LB` — Lebanon
          - `LC` — Saint Lucia
          - `LI` — Liechtenstein
          - `LK` — Sri Lanka
          - `LR` — Liberia
          - `LS` — Lesotho
          - `LT` — Lithuania
          - `LU` — Luxembourg
          - `LV` — Latvia
          - `MA` — Morocco
          - `MC` — Monaco
          - `MD` — Moldova
          - `ME` — Montenegro
          - `MF` — Saint Martin
          - `MG` — Madagascar
          - `MH` — Marshall Islands
          - `MK` — Macedonia
          - `MN` — Mongolia
          - `MO` — Macao
          - `MP` — Northern Mariana Islands
          - `MQ` — Martinique
          - `MR` — Mauritania
          - `MS` — Montserrat
          - `MT` — Malta
          - `MU` — Mauritius
          - `MV` — Maldives
          - `MW` — Malawi
          - `MX` — Mexico
          - `MY` — Malaysia
          - `MZ` — Mozambique
          - `NA` — Namibia
          - `NC` — New Caledonia
          - `NE` — Niger
          - `NF` — Norfolk Island
          - `NG` — Nigeria
          - `NL` — Netherlands
          - `NO` — Norway
          - `NP` — Nepal
          - `NR` — Nauru
          - `NU` — Niue
          - `NZ` — New Zealand
          - `OM` — Oman
          - `PA` — Panama
          - `PE` — Peru
          - `PF` — French Polynesia
          - `PG` — Papua New Guinea
          - `PH` — Philippines
          - `PK` — Pakistan
          - `PL` — Poland
          - `PM` — Saint Pierre and Miquelon
          - `PN` — Pitcairn
          - `PR` — Puerto Rico
          - `PS` — Palestinian territories
          - `PT` — Portugal
          - `PW` — Palau
          - `PY` — Paraguay
          - `QA` — Qatar
          - `RE` — Reunion
          - `RO` — Romania
          - `RS` — Republic of Serbia
          - `RW` — Rwanda
          - `SA` — Saudi Arabia
          - `SB` — Solomon Islands
          - `SC` — Seychelles
          - `SE` — Sweden
          - `SG` — Singapore
          - `SH` — Saint Helena
          - `SI` — Slovenia
          - `SJ` — Svalbard and Jan Mayen
          - `SK` — Slovakia
          - `SL` — Sierra Leone
          - `SM` — San Marino
          - `SN` — Senegal
          - `SR` — Suriname
          - `ST` — São Tomé and Príncipe
          - `SV` — El Salvador
          - `SX` — Sint Maarten
          - `SZ` — Swaziland
          - `TC` — Turks and Caicos Islands
          - `TD` — Chad
          - `TF` — French Southern and Antarctic Lands
          - `TG` — Togo
          - `TH` — Thailand
          - `TJ` — Tajikistan
          - `TK` — Tokelau
          - `TL` — Timor-Leste
          - `TM` — Turkmenistan
          - `TN` — Tunisia
          - `TO` — Tonga
          - `TR` — Turkey
          - `TT` — Trinidad and Tobago
          - `TV` — Tuvalu
          - `TW` — Taiwan
          - `TZ` — Tanzania
          - `UA` — Ukraine
          - `UG` — Uganda
          - `UM` — United States Minor Outlying Islands
          - `US` — United States
          - `UY` — Uruguay
          - `UZ` — Uzbekistan
          - `VA` — Holy See (Vatican City)
          - `VC` — Saint Vincent and the Grenadines
          - `VG` — British Virgin Islands
          - `VI` — U.S. Virgin Islands
          - `VN` — Vietnam
          - `VU` — Vanuatu
          - `WF` — Wallis and Futuna
          - `WS` — Samoa
          - `XK` — Kosovo
          - `YT` — Mayotte
          - `ZA` — South Africa
          - `ZM` — Zambia
        - `custom_data` (required) — Your own structured key-value data.
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `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.
        - `import_meta` (required)
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
      - `business` (required) — Business for the subscription when it was created.
        - `id`: string (required) — Unique Paddle ID for this business entity, prefixed with `biz_`. (pattern: `^biz_[a-z\d]{26}$`)
        - `customer_id`: string (required) — Paddle ID for the customer related to this business, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
        - `name`: string (required) — Name of this business. (Length: 1–1024)
        - `company_number` (required) — Company number for this business. (Max length: 1024)
        - `tax_identifier` (required) — Tax or VAT Number for this business. (Max length: 1024)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `contacts`: array (required) — List of contacts related to this business, typically used for sending invoices. (Items: max 100, unique)
          - `name`: string (required) — Full name of this contact. (Max length: 1024)
          - `email`: string (email) (required) — Email address for this contact. (Length: 1–320)
        - `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` (required) — Your own structured key-value data.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
      - `currency_code` (required) — Supported three-letter ISO 4217 currency code of the subscription when it was created.
        - `USD` — United States Dollar
        - `EUR` — Euro
        - `GBP` — Pound Sterling
        - `JPY` — Japanese Yen
        - `AUD` — Australian Dollar
        - `CAD` — Canadian Dollar
        - `CHF` — Swiss Franc
        - `HKD` — Hong Kong Dollar
        - `SGD` — Singapore Dollar
        - `SEK` — Swedish Krona
        - `ARS` — Argentine Peso
        - `BRL` — Brazilian Real
        - `CLP` — Chilean Peso
        - `CNY` — Chinese Yuan
        - `COP` — Colombian Peso
        - `CZK` — Czech Koruna
        - `DKK` — Danish Krone
        - `HUF` — Hungarian Forint
        - `ILS` — Israeli Shekel
        - `INR` — Indian Rupee
        - `KRW` — South Korean Won
        - `MXN` — Mexican Peso
        - `NOK` — Norwegian Krone
        - `NZD` — New Zealand Dollar
        - `PEN` — Peruvian Sol
        - `PLN` — Polish Zloty
        - `RUB` — Russian Ruble
        - `THB` — Thai Baht
        - `TRY` — Turkish Lira
        - `TWD` — New Taiwan Dollar
        - `UAH` — Ukrainian Hryvnia
        - `VND` — Vietnamese Dong
        - `ZAR` — South African Rand
      - `current_billing_period` (required) — Current billing period of the subscription when it was created.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when this period starts.
        - `ends_at`: string (date-time) (required) — RFC 3339 datetime string of when this period ends.
      - `billing_cycle` (required) — Billing cycle of the subscription when it was created.
        - `interval`: string (required) — Unit of time.
          - `day`
          - `week`
          - `month`
          - `year`
        - `frequency`: integer (required) — Amount of time. (Min: 1)
      - `items` (required) — Items on the subscription when it was created.
        - `price`: object (required) — Price on the subscription.
          - `id`: string (required) — Unique Paddle ID for this price, prefixed with `pri_`. (pattern: `^pri_[a-z\d]{26}$`)
          - `product_id`: string (required) — Paddle ID for the product that this price is for, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
          - `description`: string (required) — Internal description for this price, not shown to customers. Typically notes for your team. (Length: 2–500)
          - `type`: string (required) — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
            - `custom` — Non-catalog item. Typically created for a specific transaction or subscription. Not returned when listing or shown in the Paddle dashboard.
            - `standard` — Standard item. Can be considered part of your catalog and reused across transactions and subscriptions easily.
          - `name` (required)
          - `billing_cycle` (required) — How often this price should be charged. `null` if price is non-recurring (one-time).
            - `interval`: string (required) — Unit of time.
              - `day`
              - `week`
              - `month`
              - `year`
            - `frequency`: integer (required) — Amount of time. (Min: 1)
          - `trial_period` (required) — Trial period for the product related to this price. The billing cycle begins once the trial period is over. `null` for no trial period. Requires `billing_cycle`.
            - `interval`: string (required) — Unit of time.
              - `day`
              - `week`
              - `month`
              - `year`
            - `frequency`: integer (required) — Amount of time. (Min: 1)
            - `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." (default: `true`)
            - `unit_price` — Trial price. Customers are billed this amount for the duration of the trial period. Applies to all customers except those in countries with `unit_price_overrides`. If `null`, customers are not charged during the trial.
              - `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`: string — Supported three-letter ISO 4217 currency code.
                - `USD` — United States Dollar
                - `EUR` — Euro
                - `GBP` — Pound Sterling
                - `JPY` — Japanese Yen
                - `AUD` — Australian Dollar
                - `CAD` — Canadian Dollar
                - `CHF` — Swiss Franc
                - `HKD` — Hong Kong Dollar
                - `SGD` — Singapore Dollar
                - `SEK` — Swedish Krona
                - `ARS` — Argentine Peso
                - `BRL` — Brazilian Real
                - `CLP` — Chilean Peso
                - `CNY` — Chinese Yuan
                - `COP` — Colombian Peso
                - `CZK` — Czech Koruna
                - `DKK` — Danish Krone
                - `HUF` — Hungarian Forint
                - `ILS` — Israeli Shekel
                - `INR` — Indian Rupee
                - `KRW` — South Korean Won
                - `MXN` — Mexican Peso
                - `NOK` — Norwegian Krone
                - `NZD` — New Zealand Dollar
                - `PEN` — Peruvian Sol
                - `PLN` — Polish Zloty
                - `RUB` — Russian Ruble
                - `THB` — Thai Baht
                - `TRY` — Turkish Lira
                - `TWD` — New Taiwan Dollar
                - `UAH` — Ukrainian Hryvnia
                - `VND` — Vietnamese Dong
                - `ZAR` — South African Rand
            - `unit_price_overrides`: array — 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. (Items: max 250)
              - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
              - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
                - `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`: string — Supported three-letter ISO 4217 currency code.
                  - `USD` — United States Dollar
                  - `EUR` — Euro
                  - `GBP` — Pound Sterling
                  - `JPY` — Japanese Yen
                  - `AUD` — Australian Dollar
                  - `CAD` — Canadian Dollar
                  - `CHF` — Swiss Franc
                  - `HKD` — Hong Kong Dollar
                  - `SGD` — Singapore Dollar
                  - `SEK` — Swedish Krona
                  - `ARS` — Argentine Peso
                  - `BRL` — Brazilian Real
                  - `CLP` — Chilean Peso
                  - `CNY` — Chinese Yuan
                  - `COP` — Colombian Peso
                  - `CZK` — Czech Koruna
                  - `DKK` — Danish Krone
                  - `HUF` — Hungarian Forint
                  - `ILS` — Israeli Shekel
                  - `INR` — Indian Rupee
                  - `KRW` — South Korean Won
                  - `MXN` — Mexican Peso
                  - `NOK` — Norwegian Krone
                  - `NZD` — New Zealand Dollar
                  - `PEN` — Peruvian Sol
                  - `PLN` — Polish Zloty
                  - `RUB` — Russian Ruble
                  - `THB` — Thai Baht
                  - `TRY` — Turkish Lira
                  - `TWD` — New Taiwan Dollar
                  - `UAH` — Ukrainian Hryvnia
                  - `VND` — Vietnamese Dong
                  - `ZAR` — South African Rand
          - `tax_mode`: string (required) — How tax is calculated for this price. (default: `"account_setting"`)
            - `account_setting` — Prices use the setting from your account.
            - `external` — Prices are exclusive of tax.
            - `internal` — Prices are inclusive of tax.
            - `location` — Prices are inclusive or exclusive of tax, depending on the country of the transaction.
          - `unit_price`: object (required) — Base price. This price applies to all customers, except for customers located in countries where you have `unit_price_overrides`.
            - `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`: string (required) — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
          - `unit_price_overrides`: array (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. (Items: max 250)
            - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
            - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
              - `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`: string (required) — Supported three-letter ISO 4217 currency code.
                - `USD` — United States Dollar
                - `EUR` — Euro
                - `GBP` — Pound Sterling
                - `JPY` — Japanese Yen
                - `AUD` — Australian Dollar
                - `CAD` — Canadian Dollar
                - `CHF` — Swiss Franc
                - `HKD` — Hong Kong Dollar
                - `SGD` — Singapore Dollar
                - `SEK` — Swedish Krona
                - `ARS` — Argentine Peso
                - `BRL` — Brazilian Real
                - `CLP` — Chilean Peso
                - `CNY` — Chinese Yuan
                - `COP` — Colombian Peso
                - `CZK` — Czech Koruna
                - `DKK` — Danish Krone
                - `HUF` — Hungarian Forint
                - `ILS` — Israeli Shekel
                - `INR` — Indian Rupee
                - `KRW` — South Korean Won
                - `MXN` — Mexican Peso
                - `NOK` — Norwegian Krone
                - `NZD` — New Zealand Dollar
                - `PEN` — Peruvian Sol
                - `PLN` — Polish Zloty
                - `RUB` — Russian Ruble
                - `THB` — Thai Baht
                - `TRY` — Turkish Lira
                - `TWD` — New Taiwan Dollar
                - `UAH` — Ukrainian Hryvnia
                - `VND` — Vietnamese Dong
                - `ZAR` — South African Rand
          - `quantity`: object (required) — Limits on how many times the related product can be purchased at this price. Useful for discount campaigns.
            - `minimum`: integer (required) — Minimum quantity of the product related to this price that can be bought. Required if `maximum` set. (Range: 1–999999999; default: `1`)
            - `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. (Range: 1–999999999; default: `100`)
          - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
            - `active` — Entity is active and can be used.
            - `archived` — Entity is archived, so can't be used.
          - `custom_data` (required) — Your own structured key-value data.
          - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
            - `external_id`
            - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
          - `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.
        - `quantity`: integer (required) — Quantity of the item on the subscription at the time of the history entry.
      - `custom_data` (required) — Custom data of the subscription when it was created.
      - `discount` (required) — Discount attached to the subscription when it was created.
        - `discount`: object (required) — Discount on the subscription.
          - `id`: string (required) — Unique Paddle ID for this discount, prefixed with `dsc_`. (pattern: `^dsc_[a-z\d]{26}$`)
          - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
            - `active` — Entity is active and can be used.
            - `archived` — Entity is archived, so can't be used.
          - `description`: string (required) — Short description for this discount for your reference. Not shown to customers. (Length: 1–500)
          - `enabled_for_checkout`: boolean (required) — Whether this discount can be redeemed by customers at checkout (`true`) or not (`false`). (default: `true`)
          - `code` (required) — Unique code that customers can use to redeem this discount at checkout. Not case-sensitive.
          - `type`: string (required) — Type of discount. Determines how this discount impacts the checkout or transaction total.
            - `flat` — Discounts a checkout or transaction by a flat amount, for example -$100. Requires `currency_code`.
            - `flat_per_seat` — Discounts a checkout or transaction by a flat amount per unit, for example -$100 per user. Requires `currency_code`.
            - `percentage` — Discounts a checkout or transaction by a percentage of the total, for example -10%. Maximum 100%.
          - `mode`: string (required) — Discount mode. Standard discounts are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
            - `standard` — Standard discount. Can be considered part of your catalog and reused across transactions and subscriptions easily.
            - `custom` — Non-catalog discount. Can be created via the API, or by Paddle for checkout recovery discounts. Not returned when listing or shown in the Paddle dashboard.
          - `amount`: string (required) — Amount to discount by. For `percentage` discounts, must be an amount between `0.01` and `100`. For `flat` and `flat_per_seat` discounts, amount in the lowest denomination for a currency.
          - `currency_code` (required) — Supported three-letter ISO 4217 currency code. Required where discount type is `flat` or `flat_per_seat`.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
          - `recur`: boolean (required) — Whether this discount applies for multiple subscription billing periods (`true`) or not (`false`). (default: `false`)
          - `maximum_recurring_intervals` (required) — Number of subscription billing periods that this discount recurs for. Requires `recur`. `null` if this discount recurs forever.

Subscription renewals, midcycle changes, and one-time charges billed to a subscription aren't considered a redemption. `times_used` is not incremented in these cases. (Min: 1)
          - `usage_limit` (required) — Maximum number of times this discount can be redeemed. This is an overall limit for this discount, rather than a per-customer limit. `null` if this discount can be redeemed an unlimited amount of times.

Paddle counts a usage as a redemption on a checkout, transaction, or the initial application against a subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption. (Min: 1)
          - `restrict_to` (required) — Product or price IDs that this discount is for. When including a product ID, all prices for that product can be discounted. `null` if this discount applies to all products and prices. (Items: unique)
          - `expires_at` (required) — RFC 3339 datetime string of when this discount expires. Discount can no longer be redeemed after this date has elapsed. `null` if this discount can be redeemed forever.

Expired discounts can't be redeemed against transactions or checkouts, but can be applied when updating subscriptions.
          - `custom_data` (required)
          - `times_used`: integer (required) — How many times this discount has been redeemed. Automatically incremented by Paddle.

Paddle counts a usage as a redemption on a checkout, transaction, or subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption.
          - `discount_group_id` (required) — Paddle ID for the discount group related to this discount, prefixed with `dsg_`. `null` if not in a discount group.
          - `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.
          - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
            - `external_id`
            - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `type`: string (required) — The type of discount.
          - `recurring` — Discount applies to multiple billing periods.
          - `one-off` — Discount applies to a single billing period.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when the discount is effective from on the subscription.
        - `ends_at` (required) — RFC 3339 datetime string of when the discount stops being effective on the subscription. `null` if the discount does not have an end date.
      - `has_payment_method` (required) — Whether the subscription had a payment method when it was created. `null` if this couldn't be determined.
    - Currency updated — Details specific to `subscription_currency_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_currency_updated` — The currency the subscription is billed in was changed.
      - `currency_code`: string (required) — Updated three-letter ISO 4217 currency code for the currency on this subscription. This is what the currency was changed to.
        - `USD` — United States Dollar
        - `EUR` — Euro
        - `GBP` — Pound Sterling
        - `JPY` — Japanese Yen
        - `AUD` — Australian Dollar
        - `CAD` — Canadian Dollar
        - `CHF` — Swiss Franc
        - `HKD` — Hong Kong Dollar
        - `SGD` — Singapore Dollar
        - `SEK` — Swedish Krona
        - `ARS` — Argentine Peso
        - `BRL` — Brazilian Real
        - `CLP` — Chilean Peso
        - `CNY` — Chinese Yuan
        - `COP` — Colombian Peso
        - `CZK` — Czech Koruna
        - `DKK` — Danish Krone
        - `HUF` — Hungarian Forint
        - `ILS` — Israeli Shekel
        - `INR` — Indian Rupee
        - `KRW` — South Korean Won
        - `MXN` — Mexican Peso
        - `NOK` — Norwegian Krone
        - `NZD` — New Zealand Dollar
        - `PEN` — Peruvian Sol
        - `PLN` — Polish Zloty
        - `RUB` — Russian Ruble
        - `THB` — Thai Baht
        - `TRY` — Turkish Lira
        - `TWD` — New Taiwan Dollar
        - `UAH` — Ukrainian Hryvnia
        - `VND` — Vietnamese Dong
        - `ZAR` — South African Rand
    - Custom data updated — Details specific to `subscription_custom_data_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_custom_data_updated` — The custom data on the subscription was changed.
      - `custom_data` (required) — Updated custom data on the subscription. `null` if custom data was removed. This is what the custom data was changed to.
    - Customer updated — Details specific to `subscription_customer_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_customer_updated` — The customer the subscription belongs to was changed.
      - `customer`: object (required) — Updated customer on the subscription. This is what the customer was changed to.
        - `id`: string (required) — Unique Paddle ID for this customer entity, prefixed with `ctm_`. (pattern: `^ctm_[a-z\d]{26}$`)
        - `name` (required) — Full name of this customer. Required when creating transactions where `collection_mode` is `manual` (invoices).
        - `email`: string (email) (required) — Email address for this customer. (Length: 1–320)
        - `marketing_consent`: boolean (required) — Whether this customer opted into marketing from you. `false` unless customers check the marketing consent box
when using Paddle Checkout. Set automatically by Paddle. (default: `false`)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `custom_data` (required) — Your own structured key-value data.
        - `locale`: string (required) — Valid IETF BCP 47 short form locale tag. If omitted, defaults to `en`. (default: `"en"`)
        - `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.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
    - Discount added — Details specific to `subscription_discount_added` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_discount_added` — A discount was added to the subscription.
      - `discount`: object (required) — Discount added to the subscription.
        - `discount`: object (required) — Discount on the subscription.
          - `id`: string (required) — Unique Paddle ID for this discount, prefixed with `dsc_`. (pattern: `^dsc_[a-z\d]{26}$`)
          - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
            - `active` — Entity is active and can be used.
            - `archived` — Entity is archived, so can't be used.
          - `description`: string (required) — Short description for this discount for your reference. Not shown to customers. (Length: 1–500)
          - `enabled_for_checkout`: boolean (required) — Whether this discount can be redeemed by customers at checkout (`true`) or not (`false`). (default: `true`)
          - `code` (required) — Unique code that customers can use to redeem this discount at checkout. Not case-sensitive.
          - `type`: string (required) — Type of discount. Determines how this discount impacts the checkout or transaction total.
            - `flat` — Discounts a checkout or transaction by a flat amount, for example -$100. Requires `currency_code`.
            - `flat_per_seat` — Discounts a checkout or transaction by a flat amount per unit, for example -$100 per user. Requires `currency_code`.
            - `percentage` — Discounts a checkout or transaction by a percentage of the total, for example -10%. Maximum 100%.
          - `mode`: string (required) — Discount mode. Standard discounts are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
            - `standard` — Standard discount. Can be considered part of your catalog and reused across transactions and subscriptions easily.
            - `custom` — Non-catalog discount. Can be created via the API, or by Paddle for checkout recovery discounts. Not returned when listing or shown in the Paddle dashboard.
          - `amount`: string (required) — Amount to discount by. For `percentage` discounts, must be an amount between `0.01` and `100`. For `flat` and `flat_per_seat` discounts, amount in the lowest denomination for a currency.
          - `currency_code` (required) — Supported three-letter ISO 4217 currency code. Required where discount type is `flat` or `flat_per_seat`.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
          - `recur`: boolean (required) — Whether this discount applies for multiple subscription billing periods (`true`) or not (`false`). (default: `false`)
          - `maximum_recurring_intervals` (required) — Number of subscription billing periods that this discount recurs for. Requires `recur`. `null` if this discount recurs forever.

Subscription renewals, midcycle changes, and one-time charges billed to a subscription aren't considered a redemption. `times_used` is not incremented in these cases. (Min: 1)
          - `usage_limit` (required) — Maximum number of times this discount can be redeemed. This is an overall limit for this discount, rather than a per-customer limit. `null` if this discount can be redeemed an unlimited amount of times.

Paddle counts a usage as a redemption on a checkout, transaction, or the initial application against a subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption. (Min: 1)
          - `restrict_to` (required) — Product or price IDs that this discount is for. When including a product ID, all prices for that product can be discounted. `null` if this discount applies to all products and prices. (Items: unique)
          - `expires_at` (required) — RFC 3339 datetime string of when this discount expires. Discount can no longer be redeemed after this date has elapsed. `null` if this discount can be redeemed forever.

Expired discounts can't be redeemed against transactions or checkouts, but can be applied when updating subscriptions.
          - `custom_data` (required)
          - `times_used`: integer (required) — How many times this discount has been redeemed. Automatically incremented by Paddle.

Paddle counts a usage as a redemption on a checkout, transaction, or subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption.
          - `discount_group_id` (required) — Paddle ID for the discount group related to this discount, prefixed with `dsg_`. `null` if not in a discount group.
          - `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.
          - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
            - `external_id`
            - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `type`: string (required) — The type of discount.
          - `recurring` — Discount applies to multiple billing periods.
          - `one-off` — Discount applies to a single billing period.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when the discount is effective from on the subscription.
        - `ends_at` (required) — RFC 3339 datetime string of when the discount stops being effective on the subscription. `null` if the discount does not have an end date.
    - Discount expired — Details specific to `subscription_discount_expired` actions. Recorded when a discount is no longer eligible — for example, when the maximum number of billing periods for the discount has been reached.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_discount_expired` — A discount on the subscription reached its end date and expired.
      - `discount`: object (required) — Discount that expired on the subscription. `ends_at` reflects when the discount stopped being effective on the subscription. This is the discount that was removed.
        - `discount`: object (required) — Discount on the subscription.
          - `id`: string (required) — Unique Paddle ID for this discount, prefixed with `dsc_`. (pattern: `^dsc_[a-z\d]{26}$`)
          - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
            - `active` — Entity is active and can be used.
            - `archived` — Entity is archived, so can't be used.
          - `description`: string (required) — Short description for this discount for your reference. Not shown to customers. (Length: 1–500)
          - `enabled_for_checkout`: boolean (required) — Whether this discount can be redeemed by customers at checkout (`true`) or not (`false`). (default: `true`)
          - `code` (required) — Unique code that customers can use to redeem this discount at checkout. Not case-sensitive.
          - `type`: string (required) — Type of discount. Determines how this discount impacts the checkout or transaction total.
            - `flat` — Discounts a checkout or transaction by a flat amount, for example -$100. Requires `currency_code`.
            - `flat_per_seat` — Discounts a checkout or transaction by a flat amount per unit, for example -$100 per user. Requires `currency_code`.
            - `percentage` — Discounts a checkout or transaction by a percentage of the total, for example -10%. Maximum 100%.
          - `mode`: string (required) — Discount mode. Standard discounts are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
            - `standard` — Standard discount. Can be considered part of your catalog and reused across transactions and subscriptions easily.
            - `custom` — Non-catalog discount. Can be created via the API, or by Paddle for checkout recovery discounts. Not returned when listing or shown in the Paddle dashboard.
          - `amount`: string (required) — Amount to discount by. For `percentage` discounts, must be an amount between `0.01` and `100`. For `flat` and `flat_per_seat` discounts, amount in the lowest denomination for a currency.
          - `currency_code` (required) — Supported three-letter ISO 4217 currency code. Required where discount type is `flat` or `flat_per_seat`.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
          - `recur`: boolean (required) — Whether this discount applies for multiple subscription billing periods (`true`) or not (`false`). (default: `false`)
          - `maximum_recurring_intervals` (required) — Number of subscription billing periods that this discount recurs for. Requires `recur`. `null` if this discount recurs forever.

Subscription renewals, midcycle changes, and one-time charges billed to a subscription aren't considered a redemption. `times_used` is not incremented in these cases. (Min: 1)
          - `usage_limit` (required) — Maximum number of times this discount can be redeemed. This is an overall limit for this discount, rather than a per-customer limit. `null` if this discount can be redeemed an unlimited amount of times.

Paddle counts a usage as a redemption on a checkout, transaction, or the initial application against a subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption. (Min: 1)
          - `restrict_to` (required) — Product or price IDs that this discount is for. When including a product ID, all prices for that product can be discounted. `null` if this discount applies to all products and prices. (Items: unique)
          - `expires_at` (required) — RFC 3339 datetime string of when this discount expires. Discount can no longer be redeemed after this date has elapsed. `null` if this discount can be redeemed forever.

Expired discounts can't be redeemed against transactions or checkouts, but can be applied when updating subscriptions.
          - `custom_data` (required)
          - `times_used`: integer (required) — How many times this discount has been redeemed. Automatically incremented by Paddle.

Paddle counts a usage as a redemption on a checkout, transaction, or subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption.
          - `discount_group_id` (required) — Paddle ID for the discount group related to this discount, prefixed with `dsg_`. `null` if not in a discount group.
          - `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.
          - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
            - `external_id`
            - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `type`: string (required) — The type of discount.
          - `recurring` — Discount applies to multiple billing periods.
          - `one-off` — Discount applies to a single billing period.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when the discount is effective from on the subscription.
        - `ends_at` (required) — RFC 3339 datetime string of when the discount stops being effective on the subscription. `null` if the discount does not have an end date.
    - Discount removed — Details specific to `subscription_discount_removed` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_discount_removed` — A discount was removed from the subscription.
      - `discount`: object (required) — Discount removed from the subscription.
        - `discount`: object (required) — Discount on the subscription.
          - `id`: string (required) — Unique Paddle ID for this discount, prefixed with `dsc_`. (pattern: `^dsc_[a-z\d]{26}$`)
          - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
            - `active` — Entity is active and can be used.
            - `archived` — Entity is archived, so can't be used.
          - `description`: string (required) — Short description for this discount for your reference. Not shown to customers. (Length: 1–500)
          - `enabled_for_checkout`: boolean (required) — Whether this discount can be redeemed by customers at checkout (`true`) or not (`false`). (default: `true`)
          - `code` (required) — Unique code that customers can use to redeem this discount at checkout. Not case-sensitive.
          - `type`: string (required) — Type of discount. Determines how this discount impacts the checkout or transaction total.
            - `flat` — Discounts a checkout or transaction by a flat amount, for example -$100. Requires `currency_code`.
            - `flat_per_seat` — Discounts a checkout or transaction by a flat amount per unit, for example -$100 per user. Requires `currency_code`.
            - `percentage` — Discounts a checkout or transaction by a percentage of the total, for example -10%. Maximum 100%.
          - `mode`: string (required) — Discount mode. Standard discounts are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
            - `standard` — Standard discount. Can be considered part of your catalog and reused across transactions and subscriptions easily.
            - `custom` — Non-catalog discount. Can be created via the API, or by Paddle for checkout recovery discounts. Not returned when listing or shown in the Paddle dashboard.
          - `amount`: string (required) — Amount to discount by. For `percentage` discounts, must be an amount between `0.01` and `100`. For `flat` and `flat_per_seat` discounts, amount in the lowest denomination for a currency.
          - `currency_code` (required) — Supported three-letter ISO 4217 currency code. Required where discount type is `flat` or `flat_per_seat`.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
          - `recur`: boolean (required) — Whether this discount applies for multiple subscription billing periods (`true`) or not (`false`). (default: `false`)
          - `maximum_recurring_intervals` (required) — Number of subscription billing periods that this discount recurs for. Requires `recur`. `null` if this discount recurs forever.

Subscription renewals, midcycle changes, and one-time charges billed to a subscription aren't considered a redemption. `times_used` is not incremented in these cases. (Min: 1)
          - `usage_limit` (required) — Maximum number of times this discount can be redeemed. This is an overall limit for this discount, rather than a per-customer limit. `null` if this discount can be redeemed an unlimited amount of times.

Paddle counts a usage as a redemption on a checkout, transaction, or the initial application against a subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption. (Min: 1)
          - `restrict_to` (required) — Product or price IDs that this discount is for. When including a product ID, all prices for that product can be discounted. `null` if this discount applies to all products and prices. (Items: unique)
          - `expires_at` (required) — RFC 3339 datetime string of when this discount expires. Discount can no longer be redeemed after this date has elapsed. `null` if this discount can be redeemed forever.

Expired discounts can't be redeemed against transactions or checkouts, but can be applied when updating subscriptions.
          - `custom_data` (required)
          - `times_used`: integer (required) — How many times this discount has been redeemed. Automatically incremented by Paddle.

Paddle counts a usage as a redemption on a checkout, transaction, or subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption.
          - `discount_group_id` (required) — Paddle ID for the discount group related to this discount, prefixed with `dsg_`. `null` if not in a discount group.
          - `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.
          - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
            - `external_id`
            - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `type`: string (required) — The type of discount.
          - `recurring` — Discount applies to multiple billing periods.
          - `one-off` — Discount applies to a single billing period.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when the discount is effective from on the subscription.
        - `ends_at` (required) — RFC 3339 datetime string of when the discount stops being effective on the subscription. `null` if the discount does not have an end date.
    - Item added — Details specific to `subscription_item_added` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_item_added` — An item was added to the subscription.
      - `price`: object (required) — Price of the item that was added to the subscription.
        - `id`: string (required) — Unique Paddle ID for this price, prefixed with `pri_`. (pattern: `^pri_[a-z\d]{26}$`)
        - `product_id`: string (required) — Paddle ID for the product that this price is for, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
        - `description`: string (required) — Internal description for this price, not shown to customers. Typically notes for your team. (Length: 2–500)
        - `type`: string (required) — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
          - `custom` — Non-catalog item. Typically created for a specific transaction or subscription. Not returned when listing or shown in the Paddle dashboard.
          - `standard` — Standard item. Can be considered part of your catalog and reused across transactions and subscriptions easily.
        - `name` (required)
        - `billing_cycle` (required) — How often this price should be charged. `null` if price is non-recurring (one-time).
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
        - `trial_period` (required) — Trial period for the product related to this price. The billing cycle begins once the trial period is over. `null` for no trial period. Requires `billing_cycle`.
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
          - `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." (default: `true`)
          - `unit_price` — Trial price. Customers are billed this amount for the duration of the trial period. Applies to all customers except those in countries with `unit_price_overrides`. If `null`, customers are not charged during the trial.
            - `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`: string — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
          - `unit_price_overrides`: array — 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. (Items: max 250)
            - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
            - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
              - `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`: string — Supported three-letter ISO 4217 currency code.
                - `USD` — United States Dollar
                - `EUR` — Euro
                - `GBP` — Pound Sterling
                - `JPY` — Japanese Yen
                - `AUD` — Australian Dollar
                - `CAD` — Canadian Dollar
                - `CHF` — Swiss Franc
                - `HKD` — Hong Kong Dollar
                - `SGD` — Singapore Dollar
                - `SEK` — Swedish Krona
                - `ARS` — Argentine Peso
                - `BRL` — Brazilian Real
                - `CLP` — Chilean Peso
                - `CNY` — Chinese Yuan
                - `COP` — Colombian Peso
                - `CZK` — Czech Koruna
                - `DKK` — Danish Krone
                - `HUF` — Hungarian Forint
                - `ILS` — Israeli Shekel
                - `INR` — Indian Rupee
                - `KRW` — South Korean Won
                - `MXN` — Mexican Peso
                - `NOK` — Norwegian Krone
                - `NZD` — New Zealand Dollar
                - `PEN` — Peruvian Sol
                - `PLN` — Polish Zloty
                - `RUB` — Russian Ruble
                - `THB` — Thai Baht
                - `TRY` — Turkish Lira
                - `TWD` — New Taiwan Dollar
                - `UAH` — Ukrainian Hryvnia
                - `VND` — Vietnamese Dong
                - `ZAR` — South African Rand
        - `tax_mode`: string (required) — How tax is calculated for this price. (default: `"account_setting"`)
          - `account_setting` — Prices use the setting from your account.
          - `external` — Prices are exclusive of tax.
          - `internal` — Prices are inclusive of tax.
          - `location` — Prices are inclusive or exclusive of tax, depending on the country of the transaction.
        - `unit_price`: object (required) — Base price. This price applies to all customers, except for customers located in countries where you have `unit_price_overrides`.
          - `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`: string (required) — Supported three-letter ISO 4217 currency code.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
        - `unit_price_overrides`: array (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. (Items: max 250)
          - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
          - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
            - `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`: string (required) — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
        - `quantity`: object (required) — Limits on how many times the related product can be purchased at this price. Useful for discount campaigns.
          - `minimum`: integer (required) — Minimum quantity of the product related to this price that can be bought. Required if `maximum` set. (Range: 1–999999999; default: `1`)
          - `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. (Range: 1–999999999; default: `100`)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `custom_data` (required) — Your own structured key-value data.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `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.
      - `quantity`: integer (required) — Quantity of the item on the subscription after being added.
      - `update_summary`: object (required) — Summary of the quantity change. For a new item, `quantity_delta` matches the resulting `quantity` since the previous quantity was zero.
        - `quantity_delta`: integer (required) — Signed change in quantity. Positive when the quantity increased (or an item was added), negative when the quantity decreased (or an item was removed).
      - `proration_billing_mode`: string (required) — How Paddle calculated proration for the item added.
        - `prorated_immediately` — Paddle calculates the prorated amount for the subscription changes based on the current billing cycle, then
creates a transaction to collect immediately.
        - `prorated_next_billing_period` — Paddle calculates the prorated amount for the subscription changes based on the current billing cycle, then
schedules them to be billed on the next renewal.
        - `full_immediately` — Paddle does not calculate proration for the subscription changes, creating a transaction to collect for the full
amount immediately.
        - `full_next_billing_period` — Paddle does not calculate proration for the subscription changes, scheduling for the full amount for the changes
to be billed on the next renewal.
        - `do_not_bill` — Paddle does not bill for the subscription changes.
      - `on_payment_failure`: string (required) — How Paddle handled payment failure for the operation.
        - `prevent_change` — In case of payment failure, prevent the change to the subscription from applying.
        - `apply_change` — In case of payment failure, apply the change and update the subscription.
      - `transaction_id` (required) — Paddle ID of the transaction created as a result of the item being added, prefixed with `txn_`. `null` if no transaction was created.
    - Item quantity updated — Details specific to `subscription_item_quantity_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_item_quantity_updated` — The quantity of an item on the subscription was changed.
      - `price`: object (required) — Price of the item where the quantity was updated.
        - `id`: string (required) — Unique Paddle ID for this price, prefixed with `pri_`. (pattern: `^pri_[a-z\d]{26}$`)
        - `product_id`: string (required) — Paddle ID for the product that this price is for, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
        - `description`: string (required) — Internal description for this price, not shown to customers. Typically notes for your team. (Length: 2–500)
        - `type`: string (required) — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
          - `custom` — Non-catalog item. Typically created for a specific transaction or subscription. Not returned when listing or shown in the Paddle dashboard.
          - `standard` — Standard item. Can be considered part of your catalog and reused across transactions and subscriptions easily.
        - `name` (required)
        - `billing_cycle` (required) — How often this price should be charged. `null` if price is non-recurring (one-time).
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
        - `trial_period` (required) — Trial period for the product related to this price. The billing cycle begins once the trial period is over. `null` for no trial period. Requires `billing_cycle`.
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
          - `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." (default: `true`)
          - `unit_price` — Trial price. Customers are billed this amount for the duration of the trial period. Applies to all customers except those in countries with `unit_price_overrides`. If `null`, customers are not charged during the trial.
            - `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`: string — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
          - `unit_price_overrides`: array — 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. (Items: max 250)
            - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
            - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
              - `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`: string — Supported three-letter ISO 4217 currency code.
                - `USD` — United States Dollar
                - `EUR` — Euro
                - `GBP` — Pound Sterling
                - `JPY` — Japanese Yen
                - `AUD` — Australian Dollar
                - `CAD` — Canadian Dollar
                - `CHF` — Swiss Franc
                - `HKD` — Hong Kong Dollar
                - `SGD` — Singapore Dollar
                - `SEK` — Swedish Krona
                - `ARS` — Argentine Peso
                - `BRL` — Brazilian Real
                - `CLP` — Chilean Peso
                - `CNY` — Chinese Yuan
                - `COP` — Colombian Peso
                - `CZK` — Czech Koruna
                - `DKK` — Danish Krone
                - `HUF` — Hungarian Forint
                - `ILS` — Israeli Shekel
                - `INR` — Indian Rupee
                - `KRW` — South Korean Won
                - `MXN` — Mexican Peso
                - `NOK` — Norwegian Krone
                - `NZD` — New Zealand Dollar
                - `PEN` — Peruvian Sol
                - `PLN` — Polish Zloty
                - `RUB` — Russian Ruble
                - `THB` — Thai Baht
                - `TRY` — Turkish Lira
                - `TWD` — New Taiwan Dollar
                - `UAH` — Ukrainian Hryvnia
                - `VND` — Vietnamese Dong
                - `ZAR` — South African Rand
        - `tax_mode`: string (required) — How tax is calculated for this price. (default: `"account_setting"`)
          - `account_setting` — Prices use the setting from your account.
          - `external` — Prices are exclusive of tax.
          - `internal` — Prices are inclusive of tax.
          - `location` — Prices are inclusive or exclusive of tax, depending on the country of the transaction.
        - `unit_price`: object (required) — Base price. This price applies to all customers, except for customers located in countries where you have `unit_price_overrides`.
          - `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`: string (required) — Supported three-letter ISO 4217 currency code.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
        - `unit_price_overrides`: array (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. (Items: max 250)
          - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
          - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
            - `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`: string (required) — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
        - `quantity`: object (required) — Limits on how many times the related product can be purchased at this price. Useful for discount campaigns.
          - `minimum`: integer (required) — Minimum quantity of the product related to this price that can be bought. Required if `maximum` set. (Range: 1–999999999; default: `1`)
          - `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. (Range: 1–999999999; default: `100`)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `custom_data` (required) — Your own structured key-value data.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `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.
      - `quantity`: integer (required) — Total quantity of the item on the subscription after the change.
      - `update_summary`: object (required) — Summary of the quantity change. `quantity_delta` is positive when the quantity increased, negative when it decreased.
        - `quantity_delta`: integer (required) — Signed change in quantity. Positive when the quantity increased (or an item was added), negative when the quantity decreased (or an item was removed).
      - `proration_billing_mode`: string (required) — How Paddle calculated proration for the quantity change.
        - `prorated_immediately` — Paddle calculates the prorated amount for the subscription changes based on the current billing cycle, then
creates a transaction to collect immediately.
        - `prorated_next_billing_period` — Paddle calculates the prorated amount for the subscription changes based on the current billing cycle, then
schedules them to be billed on the next renewal.
        - `full_immediately` — Paddle does not calculate proration for the subscription changes, creating a transaction to collect for the full
amount immediately.
        - `full_next_billing_period` — Paddle does not calculate proration for the subscription changes, scheduling for the full amount for the changes
to be billed on the next renewal.
        - `do_not_bill` — Paddle does not bill for the subscription changes.
      - `on_payment_failure`: string (required) — How Paddle handled payment failure for the operation.
        - `prevent_change` — In case of payment failure, prevent the change to the subscription from applying.
        - `apply_change` — In case of payment failure, apply the change and update the subscription.
      - `transaction_id` (required) — Paddle ID of the transaction created as a result of the quantity change, prefixed with `txn_`. `null` if no transaction was created.
    - Item removed — Details specific to `subscription_item_removed` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_item_removed` — An item was removed from the subscription.
      - `price`: object (required) — Price of the item that was removed from the subscription.
        - `id`: string (required) — Unique Paddle ID for this price, prefixed with `pri_`. (pattern: `^pri_[a-z\d]{26}$`)
        - `product_id`: string (required) — Paddle ID for the product that this price is for, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
        - `description`: string (required) — Internal description for this price, not shown to customers. Typically notes for your team. (Length: 2–500)
        - `type`: string (required) — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
          - `custom` — Non-catalog item. Typically created for a specific transaction or subscription. Not returned when listing or shown in the Paddle dashboard.
          - `standard` — Standard item. Can be considered part of your catalog and reused across transactions and subscriptions easily.
        - `name` (required)
        - `billing_cycle` (required) — How often this price should be charged. `null` if price is non-recurring (one-time).
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
        - `trial_period` (required) — Trial period for the product related to this price. The billing cycle begins once the trial period is over. `null` for no trial period. Requires `billing_cycle`.
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
          - `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." (default: `true`)
          - `unit_price` — Trial price. Customers are billed this amount for the duration of the trial period. Applies to all customers except those in countries with `unit_price_overrides`. If `null`, customers are not charged during the trial.
            - `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`: string — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
          - `unit_price_overrides`: array — 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. (Items: max 250)
            - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
            - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
              - `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`: string — Supported three-letter ISO 4217 currency code.
                - `USD` — United States Dollar
                - `EUR` — Euro
                - `GBP` — Pound Sterling
                - `JPY` — Japanese Yen
                - `AUD` — Australian Dollar
                - `CAD` — Canadian Dollar
                - `CHF` — Swiss Franc
                - `HKD` — Hong Kong Dollar
                - `SGD` — Singapore Dollar
                - `SEK` — Swedish Krona
                - `ARS` — Argentine Peso
                - `BRL` — Brazilian Real
                - `CLP` — Chilean Peso
                - `CNY` — Chinese Yuan
                - `COP` — Colombian Peso
                - `CZK` — Czech Koruna
                - `DKK` — Danish Krone
                - `HUF` — Hungarian Forint
                - `ILS` — Israeli Shekel
                - `INR` — Indian Rupee
                - `KRW` — South Korean Won
                - `MXN` — Mexican Peso
                - `NOK` — Norwegian Krone
                - `NZD` — New Zealand Dollar
                - `PEN` — Peruvian Sol
                - `PLN` — Polish Zloty
                - `RUB` — Russian Ruble
                - `THB` — Thai Baht
                - `TRY` — Turkish Lira
                - `TWD` — New Taiwan Dollar
                - `UAH` — Ukrainian Hryvnia
                - `VND` — Vietnamese Dong
                - `ZAR` — South African Rand
        - `tax_mode`: string (required) — How tax is calculated for this price. (default: `"account_setting"`)
          - `account_setting` — Prices use the setting from your account.
          - `external` — Prices are exclusive of tax.
          - `internal` — Prices are inclusive of tax.
          - `location` — Prices are inclusive or exclusive of tax, depending on the country of the transaction.
        - `unit_price`: object (required) — Base price. This price applies to all customers, except for customers located in countries where you have `unit_price_overrides`.
          - `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`: string (required) — Supported three-letter ISO 4217 currency code.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
        - `unit_price_overrides`: array (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. (Items: max 250)
          - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
          - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
            - `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`: string (required) — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
        - `quantity`: object (required) — Limits on how many times the related product can be purchased at this price. Useful for discount campaigns.
          - `minimum`: integer (required) — Minimum quantity of the product related to this price that can be bought. Required if `maximum` set. (Range: 1–999999999; default: `1`)
          - `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. (Range: 1–999999999; default: `100`)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `custom_data` (required) — Your own structured key-value data.
        - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `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.
      - `quantity`: integer (required) — Quantity of the item on the subscription after the removal. Always `0` since the item no longer exists on the subscription.
      - `update_summary`: object (required) — Summary of the quantity change. `quantity_delta` is negative, reflecting the amount removed.
        - `quantity_delta`: integer (required) — Signed change in quantity. Positive when the quantity increased (or an item was added), negative when the quantity decreased (or an item was removed).
      - `proration_billing_mode`: string (required) — How Paddle calculated proration for the item removal.
        - `prorated_immediately` — Paddle calculates the prorated amount for the subscription changes based on the current billing cycle, then
creates a transaction to collect immediately.
        - `prorated_next_billing_period` — Paddle calculates the prorated amount for the subscription changes based on the current billing cycle, then
schedules them to be billed on the next renewal.
        - `full_immediately` — Paddle does not calculate proration for the subscription changes, creating a transaction to collect for the full
amount immediately.
        - `full_next_billing_period` — Paddle does not calculate proration for the subscription changes, scheduling for the full amount for the changes
to be billed on the next renewal.
        - `do_not_bill` — Paddle does not bill for the subscription changes.
      - `on_payment_failure`: string (required) — How Paddle handled payment failure for the operation.
        - `prevent_change` — In case of payment failure, prevent the change to the subscription from applying.
        - `apply_change` — In case of payment failure, apply the change and update the subscription.
      - `transaction_id` (required) — Paddle ID of the transaction created as a result of the item being removed, prefixed with `txn_`. `null` if no transaction was created.
    - One-off charge applied — Details specific to `subscription_one_off_charge_applied` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_one_off_charge_applied` — A one-time charge was applied to the subscription.
      - `effective_from`: string (required) — When the customer was billed for the one-off charge.
        - `immediately` — The one-off charge was billed at the time of this action — a transaction was created right away.
        - `next_billing_period` — The one-off charge was added to the transaction created when the subscription next renews. The customer will be billed for it as part of that renewal.
      - `items`: array (required) — Items that were charged as part of the one-off charge.
        - `price`: object (required) — Price on the subscription.
          - `id`: string (required) — Unique Paddle ID for this price, prefixed with `pri_`. (pattern: `^pri_[a-z\d]{26}$`)
          - `product_id`: string (required) — Paddle ID for the product that this price is for, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
          - `description`: string (required) — Internal description for this price, not shown to customers. Typically notes for your team. (Length: 2–500)
          - `type`: string (required) — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
            - `custom` — Non-catalog item. Typically created for a specific transaction or subscription. Not returned when listing or shown in the Paddle dashboard.
            - `standard` — Standard item. Can be considered part of your catalog and reused across transactions and subscriptions easily.
          - `name` (required)
          - `billing_cycle` (required) — How often this price should be charged. `null` if price is non-recurring (one-time).
            - `interval`: string (required) — Unit of time.
              - `day`
              - `week`
              - `month`
              - `year`
            - `frequency`: integer (required) — Amount of time. (Min: 1)
          - `trial_period` (required) — Trial period for the product related to this price. The billing cycle begins once the trial period is over. `null` for no trial period. Requires `billing_cycle`.
            - `interval`: string (required) — Unit of time.
              - `day`
              - `week`
              - `month`
              - `year`
            - `frequency`: integer (required) — Amount of time. (Min: 1)
            - `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." (default: `true`)
            - `unit_price` — Trial price. Customers are billed this amount for the duration of the trial period. Applies to all customers except those in countries with `unit_price_overrides`. If `null`, customers are not charged during the trial.
              - `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`: string — Supported three-letter ISO 4217 currency code.
                - `USD` — United States Dollar
                - `EUR` — Euro
                - `GBP` — Pound Sterling
                - `JPY` — Japanese Yen
                - `AUD` — Australian Dollar
                - `CAD` — Canadian Dollar
                - `CHF` — Swiss Franc
                - `HKD` — Hong Kong Dollar
                - `SGD` — Singapore Dollar
                - `SEK` — Swedish Krona
                - `ARS` — Argentine Peso
                - `BRL` — Brazilian Real
                - `CLP` — Chilean Peso
                - `CNY` — Chinese Yuan
                - `COP` — Colombian Peso
                - `CZK` — Czech Koruna
                - `DKK` — Danish Krone
                - `HUF` — Hungarian Forint
                - `ILS` — Israeli Shekel
                - `INR` — Indian Rupee
                - `KRW` — South Korean Won
                - `MXN` — Mexican Peso
                - `NOK` — Norwegian Krone
                - `NZD` — New Zealand Dollar
                - `PEN` — Peruvian Sol
                - `PLN` — Polish Zloty
                - `RUB` — Russian Ruble
                - `THB` — Thai Baht
                - `TRY` — Turkish Lira
                - `TWD` — New Taiwan Dollar
                - `UAH` — Ukrainian Hryvnia
                - `VND` — Vietnamese Dong
                - `ZAR` — South African Rand
            - `unit_price_overrides`: array — 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. (Items: max 250)
              - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
              - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
                - `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`: string — Supported three-letter ISO 4217 currency code.
                  - `USD` — United States Dollar
                  - `EUR` — Euro
                  - `GBP` — Pound Sterling
                  - `JPY` — Japanese Yen
                  - `AUD` — Australian Dollar
                  - `CAD` — Canadian Dollar
                  - `CHF` — Swiss Franc
                  - `HKD` — Hong Kong Dollar
                  - `SGD` — Singapore Dollar
                  - `SEK` — Swedish Krona
                  - `ARS` — Argentine Peso
                  - `BRL` — Brazilian Real
                  - `CLP` — Chilean Peso
                  - `CNY` — Chinese Yuan
                  - `COP` — Colombian Peso
                  - `CZK` — Czech Koruna
                  - `DKK` — Danish Krone
                  - `HUF` — Hungarian Forint
                  - `ILS` — Israeli Shekel
                  - `INR` — Indian Rupee
                  - `KRW` — South Korean Won
                  - `MXN` — Mexican Peso
                  - `NOK` — Norwegian Krone
                  - `NZD` — New Zealand Dollar
                  - `PEN` — Peruvian Sol
                  - `PLN` — Polish Zloty
                  - `RUB` — Russian Ruble
                  - `THB` — Thai Baht
                  - `TRY` — Turkish Lira
                  - `TWD` — New Taiwan Dollar
                  - `UAH` — Ukrainian Hryvnia
                  - `VND` — Vietnamese Dong
                  - `ZAR` — South African Rand
          - `tax_mode`: string (required) — How tax is calculated for this price. (default: `"account_setting"`)
            - `account_setting` — Prices use the setting from your account.
            - `external` — Prices are exclusive of tax.
            - `internal` — Prices are inclusive of tax.
            - `location` — Prices are inclusive or exclusive of tax, depending on the country of the transaction.
          - `unit_price`: object (required) — Base price. This price applies to all customers, except for customers located in countries where you have `unit_price_overrides`.
            - `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`: string (required) — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
          - `unit_price_overrides`: array (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. (Items: max 250)
            - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
            - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
              - `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`: string (required) — Supported three-letter ISO 4217 currency code.
                - `USD` — United States Dollar
                - `EUR` — Euro
                - `GBP` — Pound Sterling
                - `JPY` — Japanese Yen
                - `AUD` — Australian Dollar
                - `CAD` — Canadian Dollar
                - `CHF` — Swiss Franc
                - `HKD` — Hong Kong Dollar
                - `SGD` — Singapore Dollar
                - `SEK` — Swedish Krona
                - `ARS` — Argentine Peso
                - `BRL` — Brazilian Real
                - `CLP` — Chilean Peso
                - `CNY` — Chinese Yuan
                - `COP` — Colombian Peso
                - `CZK` — Czech Koruna
                - `DKK` — Danish Krone
                - `HUF` — Hungarian Forint
                - `ILS` — Israeli Shekel
                - `INR` — Indian Rupee
                - `KRW` — South Korean Won
                - `MXN` — Mexican Peso
                - `NOK` — Norwegian Krone
                - `NZD` — New Zealand Dollar
                - `PEN` — Peruvian Sol
                - `PLN` — Polish Zloty
                - `RUB` — Russian Ruble
                - `THB` — Thai Baht
                - `TRY` — Turkish Lira
                - `TWD` — New Taiwan Dollar
                - `UAH` — Ukrainian Hryvnia
                - `VND` — Vietnamese Dong
                - `ZAR` — South African Rand
          - `quantity`: object (required) — Limits on how many times the related product can be purchased at this price. Useful for discount campaigns.
            - `minimum`: integer (required) — Minimum quantity of the product related to this price that can be bought. Required if `maximum` set. (Range: 1–999999999; default: `1`)
            - `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. (Range: 1–999999999; default: `100`)
          - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
            - `active` — Entity is active and can be used.
            - `archived` — Entity is archived, so can't be used.
          - `custom_data` (required) — Your own structured key-value data.
          - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
            - `external_id`
            - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
          - `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.
        - `quantity`: integer (required) — Quantity of the item on the subscription at the time of the history entry.
      - `on_payment_failure`: string (required) — How Paddle handled payment failure for the one-off charge.
        - `prevent_change` — In case of payment failure, prevent the change to the subscription from applying.
        - `apply_change` — In case of payment failure, apply the change and update the subscription.
      - `transaction_id` (required) — Paddle ID of the transaction created for the one-off charge, prefixed with `txn_`. `null` if no transaction was created.
    - Past due — Details specific to `subscription_past_due` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_past_due` — The subscription's status became `past_due` after a payment failed.
      - `status`: string (required) — The status of the subscription after becoming past due.
        - `active` — Subscription is active. Paddle is billing for this subscription and related transactions aren't past due.
        - `canceled` — Subscription is canceled. Automatically set by Paddle when a subscription is canceled. When a subscription is set to cancel on the next billing period, a scheduled change for the cancellation is created. The subscription status moves to canceled when the scheduled change takes effect.
        - `past_due` — Subscription has an overdue payment. Automatically set by Paddle when payment fails for an automatically-collected transaction, or when payment terms have elapsed for a manually-collected transaction (an invoice).
        - `paused` — Subscription is paused. Automatically set by Paddle when a subscription is paused. When a subscription is set to pause on the next billing period, a scheduled change for the pause is created. The subscription status moves to `paused` when the scheduled change takes effect.
        - `trialing` — Subscription is in trial.
      - `transaction_id`: string (required) — Paddle ID of the failed transaction, prefixed with `txn_`. (pattern: `^txn_[a-z\d]{26}$`)
    - Paused — Details specific to `subscription_paused` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_paused` — The subscription's status became `paused`.
      - `effective_from`: string (required) — Whether the subscription was paused immediately, or scheduled to pause.
        - `immediately` — The subscription was paused immediately.
        - `next_billing_period` — The subscription was scheduled to pause at the next billing period.
      - `status`: string (required) — The status of the subscription after pausing.
        - `active` — Subscription is active. Paddle is billing for this subscription and related transactions aren't past due.
        - `canceled` — Subscription is canceled. Automatically set by Paddle when a subscription is canceled. When a subscription is set to cancel on the next billing period, a scheduled change for the cancellation is created. The subscription status moves to canceled when the scheduled change takes effect.
        - `past_due` — Subscription has an overdue payment. Automatically set by Paddle when payment fails for an automatically-collected transaction, or when payment terms have elapsed for a manually-collected transaction (an invoice).
        - `paused` — Subscription is paused. Automatically set by Paddle when a subscription is paused. When a subscription is set to pause on the next billing period, a scheduled change for the pause is created. The subscription status moves to `paused` when the scheduled change takes effect.
        - `trialing` — Subscription is in trial.
    - Payment attempted — Details specific to `subscription_payment_attempted` actions. Recorded when a payment attempt fails for an operation that attempts a payment, like a subscription update or one-time charge. Successful payment outcomes are captured by the relevant action, like `subscription_item_added`, `subscription_one_off_charge_applied`, or `subscription_activated`.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_payment_attempted` — A payment for a change to the subscription was attempted and failed.
      - `operation`: string (required) — Operation that resulted in the failed payment attempt. Use the related transaction ID to get the full details of the attempted change.
        - `subscription_update` — An update to the subscription — for example, an item add, remove, quantity change, or billing date move.
        - `subscription_one_off_charge` — A one-off charge applied to the subscription.
        - `subscription_activate` — An activation of a trialing subscription.
      - `transaction_id`: string (required) — Paddle ID of the failed transaction, prefixed with `txn_`. (pattern: `^txn_[a-z\d]{26}$`)
    - Payment method added — Details specific to `subscription_payment_method_added` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_payment_method_added` — A payment method was added to the subscription.
    - Payment method removed — Details specific to `subscription_payment_method_removed` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_payment_method_removed` — A payment method was removed from the subscription.
    - Payment method updated — Details specific to `subscription_payment_method_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_payment_method_updated` — The payment method on the subscription was changed.
    - Renewed — Details specific to `subscription_renewed` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_renewed` — The subscription renewed for a new billing period.
      - `next_billed_at`: string (date-time) (required) — RFC 3339 datetime string of when the subscription was next scheduled to be billed after this renewal.
      - `current_billing_period`: object (required) — Billing period of the subscription after renewal.
        - `starts_at`: string (date-time) (required) — RFC 3339 datetime string of when this period starts.
        - `ends_at`: string (date-time) (required) — RFC 3339 datetime string of when this period ends.
      - `transaction_id`: string (required) — Paddle ID of the transaction created for this renewal, prefixed with `txn_`. (pattern: `^txn_[a-z\d]{26}$`)
    - Resumed — Details specific to `subscription_resumed` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_resumed` — The subscription's status became `active` after being paused.
      - `status`: string (required) — The status of the subscription after resuming.
        - `active` — Subscription is active. Paddle is billing for this subscription and related transactions aren't past due.
        - `canceled` — Subscription is canceled. Automatically set by Paddle when a subscription is canceled. When a subscription is set to cancel on the next billing period, a scheduled change for the cancellation is created. The subscription status moves to canceled when the scheduled change takes effect.
        - `past_due` — Subscription has an overdue payment. Automatically set by Paddle when payment fails for an automatically-collected transaction, or when payment terms have elapsed for a manually-collected transaction (an invoice).
        - `paused` — Subscription is paused. Automatically set by Paddle when a subscription is paused. When a subscription is set to pause on the next billing period, a scheduled change for the pause is created. The subscription status moves to `paused` when the scheduled change takes effect.
        - `trialing` — Subscription is in trial.
      - `on_resume`: string (required) — How the subscription was resumed. Indicates whether a new billing period was started or the existing one continued.
        - `continue_existing_billing_period` — When resuming, continue the existing billing period. If the customer resumes before the end date of the existing billing period, there's no immediate charge. If after, an error is returned.
        - `start_new_billing_period` — When resuming, start a new billing period. The `current_billing_period.starts_at` date is set to the resume date, and Paddle immediately charges the full amount for the new billing period.
    - Scheduled change added — Details specific to `subscription_scheduled_change_added` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_scheduled_change_added` — A scheduled change was added to the subscription.
      - `scheduled_change`: object (required) — Details of the scheduled change that was added to the subscription.
        - `action`: string (required) — Kind of change that's scheduled to be applied to this subscription.
          - `cancel` — Subscription is scheduled to cancel. Its status changes to `canceled` on the `effective_at` date.
          - `pause` — Subscription is scheduled to pause. Its status changes to `paused` on the `effective_at` date.
          - `resume` — Subscription is scheduled to resume. Its status changes to `active` on the `effective_at` date.
        - `effective_at`: string (date-time) (required) — RFC 3339 datetime string of when this scheduled change takes effect.
        - `resume_at` (required) — RFC 3339 datetime string of when a paused subscription should resume. Only used for `pause` scheduled changes.
    - Scheduled change removed — Details specific to `subscription_scheduled_change_removed` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_scheduled_change_removed` — A scheduled change was removed from the subscription.
      - `scheduled_change`: object (required) — Details of the scheduled change that was removed from the subscription.
        - `action`: string (required) — Kind of change that's scheduled to be applied to this subscription.
          - `cancel` — Subscription is scheduled to cancel. Its status changes to `canceled` on the `effective_at` date.
          - `pause` — Subscription is scheduled to pause. Its status changes to `paused` on the `effective_at` date.
          - `resume` — Subscription is scheduled to resume. Its status changes to `active` on the `effective_at` date.
        - `effective_at`: string (date-time) (required) — RFC 3339 datetime string of when this scheduled change takes effect.
        - `resume_at` (required) — RFC 3339 datetime string of when a paused subscription should resume. Only used for `pause` scheduled changes.
    - Scheduled change updated — Details specific to `subscription_scheduled_change_updated` actions.
      - `action`: string (required) — What happened on the subscription.
        - `subscription_scheduled_change_updated` — A scheduled change on the subscription was changed.
      - `scheduled_change`: object (required) — Details of the updated scheduled change on the subscription. This is what the scheduled change was changed to.
        - `action`: string (required) — Kind of change that's scheduled to be applied to this subscription.
          - `cancel` — Subscription is scheduled to cancel. Its status changes to `canceled` on the `effective_at` date.
          - `pause` — Subscription is scheduled to pause. Its status changes to `paused` on the `effective_at` date.
          - `resume` — Subscription is scheduled to resume. Its status changes to `active` on the `effective_at` date.
        - `effective_at`: string (date-time) (required) — RFC 3339 datetime string of when this scheduled change takes effect.
        - `resume_at` (required) — RFC 3339 datetime string of when a paused subscription should resume. Only used for `pause` scheduled changes.
- `meta`: object (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.
  - `pagination`: object (required) — Keys used for working with paginated results.
    - `per_page`: integer (required) — Number of entities per page for this response. May differ from the number requested if the requested number is greater than the maximum.
    - `next`: string (uri) (required) — URL containing the query parameters of the original request, along with the `after` parameter that marks the starting point of the next page. Always returned, even if `has_more` is `false`.
    - `has_more`: boolean (required) — Whether this response has another page.
    - `estimated_total`: integer — Estimated number of entities for this response.

For datasets with 100,000 or fewer matches, returns the exact count. For datasets with more than 100,000 matches, returns `100001` to indicate that more than 100,000 entities match. Returns `-1` when counting is skipped or couldn't be calculated.

Use `has_more` and `next` to page through all results rather than relying on `estimated_total` for an exact count.

### Response example

```json
{
  "data": [
    {
      "id": "subhis_01k0w2m6p8x9y0z1a2b3c4d5e6",
      "group_id": "subhisgrp_01k0w2m6p8x9y0z1a2b3c4d5e6",
      "subscription_id": "sub_01hv959anj4zrw503h2acawb3p",
      "occurred_at": "2024-05-02T11:20:31Z",
      "source": "customer_portal",
      "actor": {
        "type": "customer",
        "id": "ctm_01hv8wt8nffez4p2t6typn4a5j"
      },
      "reason": "customer_request",
      "detail": {
        "action": "subscription_canceled",
        "effective_from": "next_billing_period"
      }
    },
    {
      "id": "subhis_01k0w1f5n7w8x9y0z1a2b3c4d5",
      "group_id": "subhisgrp_01k0w1f5n7w8x9y0z1a2b3c4d5",
      "subscription_id": "sub_01hv959anj4zrw503h2acawb3p",
      "occurred_at": "2024-04-12T12:42:28Z",
      "source": "system",
      "actor": {
        "type": "system",
        "id": null
      },
      "reason": null,
      "detail": {
        "action": "subscription_activated",
        "status": "active",
        "first_billed_at": "2024-04-12T12:42:28Z",
        "current_billing_period": {
          "starts_at": "2024-04-12T12:42:28Z",
          "ends_at": "2024-05-12T12:42:28Z"
        },
        "transaction_id": "txn_01h89231k3a1q8mn6p4r5s7t9v"
      }
    },
    {
      "id": "subhis_01k0w0a4m6v7w8x9y0z1a2b3c4",
      "group_id": "subhisgrp_01k0w0a4m6v7w8x9y0z1a2b3c4",
      "subscription_id": "sub_01hv959anj4zrw503h2acawb3p",
      "occurred_at": "2024-04-12T12:42:27Z",
      "source": "checkout",
      "actor": {
        "type": "customer",
        "id": "ctm_01hv8wt8nffez4p2t6typn4a5j"
      },
      "reason": null,
      "detail": {
        "action": "subscription_created",
        "status": "active",
        "collection_mode": "automatic",
        "billing_details": null,
        "customer": null,
        "address": null,
        "business": null,
        "currency_code": "USD",
        "current_billing_period": {
          "starts_at": "2024-04-12T12:42:27Z",
          "ends_at": "2024-05-12T12:42:27Z"
        },
        "billing_cycle": {
          "frequency": 1,
          "interval": "month"
        },
        "items": null,
        "custom_data": null,
        "discount": null,
        "has_payment_method": true
      }
    }
  ],
  "meta": {
    "request_id": "170e71a2-ed13-4f45-b002-45693f5361b4",
    "pagination": {
      "per_page": 50,
      "next": "https://api.paddle.com/subscriptions/sub_01hv959anj4zrw503h2acawb3p/history?after=subhis_01k0w0a4m6v7w8x9y0z1a2b3c4",
      "has_more": false,
      "estimated_total": 3
    }
  }
}
```
