# Create Balance Source: https://docs.useautumn.com/api-reference/balances/createBalance openapi POST /v1/balances.create Create a balance for a customer feature. ### Body Parameters The ID of the customer. The ID of the feature. The ID of the entity for entity-scoped balances (e.g., per-seat limits). The initial balance amount to grant. For metered features, this is the number of units the customer can use. If true, the balance has unlimited usage. Cannot be combined with 'included\_grant'. Reset configuration for the balance. If not provided, the balance is a one-time grant that never resets. The interval at which the balance resets (e.g., 'month', 'day', 'year'). Number of intervals between resets. Defaults to 1 (e.g., interval\_count: 2 with interval: 'month' resets every 2 months). Rollover configuration for the balance. Unix timestamp (milliseconds) when the balance expires. Mutually exclusive with reset. Unix timestamp (milliseconds) for the first reset boundary, allowing a custom (e.g. shorter) first period. Requires 'reset', and must occur before 'expires\_at' if both are provided. Subsequent resets advance by one reset interval from this boundary. A unique identifier for this balance. Use this to target the balance in future update / delete calls. ### Response # Delete Balance Source: https://docs.useautumn.com/api-reference/balances/deleteBalance openapi POST /v1/balances.delete Delete a balance for a customer feature. Can only delete a balance that is not attached to a price (eg. you cannot delete messages that have an overage price). ### Body Parameters The ID of the customer. The ID of the entity. The ID of the feature. The ID of the balance to delete. If true, deduct the deleted balance's remaining amount from the customer's other balances for the same feature after deletion. Target a specific balance by its reset interval. Use when the customer has multiple balances for the same feature with different reset intervals. ### Response # Finalize Lock Source: https://docs.useautumn.com/api-reference/balances/finalizeLock openapi POST /v1/balances.finalize Finalize a previously locked balance. Use 'confirm' to commit the deduction, or 'release' to return the held balance. ### Body Parameters The lock ID that was passed into the previous check call. Use 'confirm' to commit the deduction, or 'release' to return the held balance. Additional properties to attach to this finalize lock event. Additional properties to attach to this finalize lock event. ### Response # List Balances Source: https://docs.useautumn.com/api-reference/balances/listBalances openapi POST /v1/balances.list Lists individual balances (one row per grant) across customers, live or expired: plan balances, standalone balances, top-ups, and pooled balances. Pages may hold fewer than `limit` rows while `has_more` is true. Lists individual balances, one row per grant: plan balances, standalone balances from `balances.create`, top-ups, and pooled balances. By default only active balances are returned; pass `statuses: ["expired"]` for balances whose plan expired or whose `expires_at` has passed. Pass `plan_id: null` to list only balances that don't come from a plan. Rollovers are returned on the balance they belong to. A page can hold fewer than `limit` rows (even zero) while `has_more` is `true`. Keep paginating until `has_more` is `false`. ### Body Parameters Only return rows for this customer. Omit to list across every customer. Only return rows for this entity. Requires customer\_id. Number of items to return. Default 50, hard ceiling 200. Opaque pagination cursor. Empty string (default) requests the first page; use next\_cursor from a prior response for subsequent pages. Statuses to include. Defaults to active. A balance is expired when its plan expired, or when a standalone balance passed its expires\_at. Only return balances from this plan. Pass null for standalone balances only (top-ups, balances.create, rollovers). Only return balances for this feature. ### Response Rows on this page. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. The feature this balance is for. Whether this balance is active or expired. Rollover balances carried over onto this balance. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. The customer this balance belongs to. The entity this balance is scoped to, or null. Timestamp when this balance was created. Whether more results exist. A page may hold fewer than `limit` items (even zero) while `has_more` is true, so paginate until `has_more` is false. Pass as start\_cursor to fetch the next page. Null when has\_more is false. ```json 200 theme={null} { "list": [ { "id": "bonus_credits", "plan_id": null, "included_grant": 50, "prepaid_grant": 0, "remaining": 0, "usage": 50, "unlimited": false, "reset": { "interval": "one_off", "resets_at": null }, "price": null, "expires_at": 1771999921437, "feature_id": "messages", "status": "expired", "rollovers": [], "customer_id": "cus_123", "entity_id": null, "created_at": 1769904000000 } ], "has_more": false, "next_cursor": null } ``` # Update Balance Source: https://docs.useautumn.com/api-reference/balances/updateBalance openapi POST /v1/balances.update Update a customer balance. ### Body Parameters The ID of the customer. The ID of the feature. The ID of the entity for entity-scoped balances (e.g., per-seat limits). Set the remaining balance to this exact value. Cannot be combined with add\_to\_balance. Add this amount to the current balance. Use negative values to subtract. Cannot be combined with current\_balance. The usage amount to update. Cannot be combined with remaining or add\_to\_balance. Target a specific balance by its reset interval. Use when the customer has multiple balances for the same feature with different reset intervals. Set the granted balance to this exact value. Target a specific balance by its ID (set on create). Use when the customer has multiple balances for the same feature. The next reset time for the balance. If there are multiple breakdowns, this will update the breakdown with the next reset time. Unix timestamp (milliseconds) when the balance expires. Targets a specific balance via balance\_id / interval when the customer has multiple balances for the same feature. ### Response # Attach Source: https://docs.useautumn.com/api-reference/billing/attach openapi POST /v1/billing.attach Attaches a plan to a customer. Handles new subscriptions, upgrades and downgrades. Use this endpoint to subscribe a customer to a plan, upgrade/downgrade between plans, or add an add-on product. The attach endpoint subscribes a customer to a plan. It handles new subscriptions, upgrades, and downgrades automatically. For modifying an existing subscription (like changing quantities or canceling), use [update](/api-reference/billing/billingUpdate) instead. ### Common Use Cases ```typescript Subscribe to a plan theme={null} const response = await autumn.billing.attach({ customerId: "cus_123", planId: "pro_plan", }); if (response.paymentUrl) { // Redirect customer to checkout window.location.href = response.paymentUrl; } ``` ```typescript Custom pricing theme={null} const response = await autumn.billing.attach({ customerId: "cus_123", planId: "enterprise_plan", customize: { price: { amount: 999, // $999 interval: "month", }, }, }); ``` ```typescript Attach plan with prepaid quantities theme={null} const response = await autumn.billing.attach({ customerId: "cus_123", planId: "team_plan", featureQuantities: [{ featureId: "seats", quantity: 5 }], }); ``` ```typescript Send an invoice with tax theme={null} const response = await autumn.billing.attach({ customerId: "cus_123", planId: "enterprise_plan", invoiceMode: { enabled: true }, billingDetails: { address: { line1: "1 Martin Place", city: "Sydney", postalCode: "2000", country: "AU" }, }, }); ``` ```typescript Pass metadata to Stripe subscription theme={null} const response = await autumn.billing.attach({ customerId: "cus_123", planId: "pro_plan", checkoutSessionParams: { subscriptionData: { metadata: { userId: "internal-user-id", source: "upgrade-flow", }, }, }, }); ``` ### Stripe checkout session params Use `checkoutSessionParams` to pass additional data to the Stripe checkout session. Values you provide are deep-merged with Autumn's internal parameters, so your fields are preserved alongside ones Autumn sets automatically (like `trial_end` or internal metadata). This is useful for attaching custom metadata to the Stripe subscription created during checkout — for example, linking subscriptions to internal user IDs or tracking the source of the purchase. ### Currency Pass `currency` to bill the attach in a specific currency the plan offers via [`additional_currencies`](/documentation/concepts/plans#multiple-currencies). If omitted, Autumn uses the customer's currency, falling back to your organization's default. A customer who has paid is locked to their currency: passing a different one, or attaching a plan that doesn't offer a paid price in their currency, fails with a `currency_mismatch` error before any billing happens. ### Tax When automatic tax is on for your organization, an invoice-mode attach needs a billing address on the customer. Without one it fails with `customer_tax_location_missing`. Pass `billingDetails` to save an address, tax IDs or a tax exemption to the customer in the same call, or `tax.automaticTax.enabled: false` to skip tax for this request. See [Tax](/documentation/customers/tax) for the full behavior. ### Body Parameters The ID of the customer to attach the plan to. The ID of the entity to attach the plan to. The ID of the plan. If this plan contains prepaid features, use this field to specify the quantity of each prepaid feature. This quantity includes the included amount and billing units defined when setting up the plan. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. The version of the plan to attach. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Customize the plan to attach. Can override the price, items, licenses, free trial, or a combination. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan (PUT-style — replaces all existing items). Mutually exclusive with add\_items / remove\_items / deprecated update\_items. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Invoice mode creates a draft or open invoice and sends it to the customer, instead of charging their card immediately. This uses Stripe's send\_invoice collection method. When true, creates an invoice and sends it to the customer instead of charging their card immediately. Uses Stripe's send\_invoice collection method. If true, enables the plan immediately even though the invoice is not paid yet. If true, finalizes the invoice so it can be sent to the customer. If false, keeps it as a draft for manual review. ID of an invoice template (configured in billing settings) whose footer (e.g. bank details) is applied to the invoice. Number of days the customer has to pay the invoice before it is due (Stripe days\_until\_due). How to handle proration when updating an existing subscription. 'prorate\_immediately' charges/credits prorated amounts now, 'none' skips creating any charges, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. Controls when to return a checkout URL. 'always' returns a URL even if payment succeeds, 'if\_required' only when payment action is needed, 'never' disables redirects. A unique ID to identify this subscription. Can be used to target specific subscriptions in update operations when a customer has multiple products with the same plan. List of discounts to apply. Each discount can be an Autumn reward ID, Stripe coupon ID, or Stripe promotion code. The ID of the reward to apply as a discount. The promotion code to apply as a discount. URL to redirect to after successful checkout. Only applicable when the customer has an existing Stripe subscription. If true, creates a new separate subscription instead of merging into the existing one. Reset the billing cycle immediately with 'now', or schedule a reset at a future Unix timestamp in milliseconds. When the plan change should take effect. 'immediate' applies now, 'end\_of\_cycle' schedules for the end of the current billing cycle. By default, upgrades are immediate and downgrades are scheduled. Unix timestamp in milliseconds for when the attached plan should start. Future dates create a scheduled subscription. Unix timestamp in milliseconds for when the attached plan should end. Additional parameters to pass into the creation of the Stripe checkout session. If true, returns an Autumn-hosted checkout link that can create a fresh Stripe checkout session when opened. Custom line items that override the auto-generated proration invoice. Only valid for immediate plan changes (eg. upgrades or one off plans). Amount in dollars for this line item (e.g. 10.50). Can be negative for credits. Description for the line item. The processor subscription ID to link. Use this to attach an existing Stripe subscription instead of creating a new one. Whether to carry over balances from the previous plan. Whether to carry over balances from the previous plan. The IDs of the features to carry over balances from. If left undefined, all features will be carried over. Whether to carry over usages from the previous plan. Whether to carry over usages from the previous plan. The IDs of the features to carry over usages for. If left undefined, all consumable features will be carried over. Seat quantities for the plan's licenses, keyed by license plan. The license plan to set seat quantity for. Total seats for the license, inclusive of the plan's included amount — seats beyond it are paid. Key-value metadata to attach to the Stripe subscription, invoice, and checkout session created during this attach flow. Keys prefixed with 'autumn\_' are reserved and will be stripped. If true, skips any billing changes for the attach operation. If true, the customer's plan is activated immediately even when payment is deferred (invoice mode) or pending (Stripe checkout). For Stripe checkout, the customer\_product is inserted before the customer completes the hosted form. Set it here rather than on `invoice_mode`, which only covers the invoice-unpaid case. Tax behavior for this attach. Use automatic\_tax to turn automatic tax on or off for this request, or rate\_id to apply a fixed tax rate. Override the organization's automatic tax setting for this request. Can't be enabled together with rate\_id or tax\_rate\_id. Whether to calculate tax automatically through Stripe for this request. Defaults to the organization's automatic tax setting. Stripe tax rate ID (txr\_...) to apply instead of automatic tax. Takes precedence over the top-level tax\_rate\_id. Billing address, tax IDs and tax exemption to save to the customer before billing. Lets an invoice-mode attach supply the address automatic tax needs in the same call. Billing address saved to the customer and used to calculate tax. Replaces the customer's whole address. Two-letter country code (ISO 3166-1 alpha-2). Tax IDs to add to the customer. IDs the customer already has are ignored, and existing IDs are never removed. To remove one, use customers.update or Stripe. Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Customer tax exemption status. 'exempt' customers are never charged tax and need no address. 'reverse' applies reverse charge. Stripe tax rate ID (txr\_...) to apply as the default tax rate on the created subscription, invoice, or checkout session line items. Currency to bill this attach in (e.g. usd, eur). Must match the customer's currency if they are already locked to one, and the plan must offer a paid price in it. Defaults to the customer's currency, then the org default. Plan IDs to expire on the customer as part of this attach. Each must be an active plan. When no plan in the same group is being replaced, the attach takes over the subscription of the first paid plan listed here, unless `new_billing_subscription` is true (paid plans cannot be removed in that case). Any other paid plan must be billed on that same subscription (free plans can always be removed). Only allowed when the new plan starts immediately (not with `plan_schedule: end_of_cycle`, or a future `starts_at` without `enable_plan_immediately`). Discounts to remove from the subscription, by reward ID. Discounts not listed are left unchanged. The ID of the reward (or Stripe coupon) to remove. ### Response The ID of the customer. The ID of the entity, if the plan was attached to an entity. Invoice details if an invoice was created. Only present when a charge was made. The status of the invoice (e.g., 'paid', 'open', 'draft'). The Stripe invoice ID. The total amount of the invoice in cents. The three-letter ISO currency code (e.g., 'usd'). URL to the hosted invoice page where the customer can view and pay the invoice. URL to redirect the customer to complete payment. Null if no payment action is required. Details about any action required to complete the payment. Present when the payment could not be processed automatically. The type of action required to complete the payment. A human-readable explanation of why this action is required. ```json 200 theme={null} { "customer_id": "cus_123", "payment_url": "https://checkout.stripe.com/..." } ``` # Update Subscription Source: https://docs.useautumn.com/api-reference/billing/billingUpdate openapi POST /v1/billing.update Updates an existing subscription. Use to modify feature quantities, cancel, or change plan configuration. Use this endpoint to update prepaid quantities, cancel a subscription (immediately or at end of cycle), or modify subscription settings. The update endpoint modifies an existing subscription. Use this to change prepaid quantities, cancel subscriptions, or modify plan configuration. For subscribing to a new plan, use [attach](/api-reference/billing/attach) instead. ### Common Use Cases ```typescript Update prepaid quantity theme={null} const response = await autumn.billing.update({ customerId: "cus_123", planId: "pro_plan", featureQuantities: [{ featureId: "seats", quantity: 10 }] }); ``` ```typescript Cancel at end of cycle theme={null} const response = await autumn.billing.update({ customerId: "cus_123", planId: "pro_plan", cancelAction: "cancel_end_of_cycle" }); ``` ```typescript Uncancel subscription theme={null} const response = await autumn.billing.update({ customerId: "cus_123", planId: "pro_plan", cancelAction: "uncancel" }); ``` ### Body Parameters The ID of the customer to attach the plan to. The ID of the entity to attach the plan to. The ID of the plan to update. Optional if subscription\_id is provided, or if the customer has only one product. If this plan contains prepaid features, use this field to specify the quantity of each prepaid feature. This quantity includes the included amount and billing units defined when setting up the plan. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. The version of the plan to attach. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Customize the plan to attach. Can override the price, items, licenses, free trial, or a combination. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan (PUT-style — replaces all existing items). Mutually exclusive with add\_items / remove\_items / deprecated update\_items. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Invoice mode creates a draft or open invoice and sends it to the customer, instead of charging their card immediately. This uses Stripe's send\_invoice collection method. When true, creates an invoice and sends it to the customer instead of charging their card immediately. Uses Stripe's send\_invoice collection method. If true, enables the plan immediately even though the invoice is not paid yet. If true, finalizes the invoice so it can be sent to the customer. If false, keeps it as a draft for manual review. ID of an invoice template (configured in billing settings) whose footer (e.g. bank details) is applied to the invoice. Number of days the customer has to pay the invoice before it is due (Stripe days\_until\_due). How to handle proration when updating an existing subscription. 'prorate\_immediately' charges/credits prorated amounts now, 'none' skips creating any charges, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. Controls when to return a checkout URL. 'always' returns a URL even if payment succeeds, 'if\_required' only when payment action is needed, 'never' disables redirects. A unique ID to identify this subscription. Can be used to target specific subscriptions in update operations when a customer has multiple products with the same plan. List of discounts to apply. Each discount can be an Autumn reward ID, Stripe coupon ID, or Stripe promotion code. The ID of the reward to apply as a discount. The promotion code to apply as a discount. Discounts to remove from the subscription, by reward ID. Discounts not listed are left unchanged. The ID of the reward (or Stripe coupon) to remove. Custom line items that replace the auto-generated proration invoice, or bill a standalone invoice when nothing else changes. Only valid on an existing recurring subscription. Amount in dollars for this line item (e.g. 10.50). Can be negative for credits. Description for the line item. Action to perform for cancellation. 'cancel\_immediately' cancels now with prorated refund, 'cancel\_end\_of\_cycle' cancels at period end, 'uncancel' reverses a pending cancellation. Reset the billing cycle immediately with 'now', or schedule a reset at a future Unix timestamp in milliseconds. If true, the subscription is updated internally without applying billing changes in Stripe. Controls how the last payment is refunded on immediate cancellation. 'prorated' refunds the unused portion, 'full' refunds the entire last payment. Additional parameters to pass into the Stripe subscription update or cancel call. Controls whether balances should be recalculated during the subscription update. If true, recalculates balances during the subscription update. Only applicable when updating feature quantities. Whether to carry over usages from the previous plan. Whether to carry over usages from the previous plan. The IDs of the features to carry over usages for. If left undefined, all consumable features will be carried over. Total seat quantities (inclusive of the license's included count) per license plan offered by this plan. Licenses not listed keep their current paid quantity. The license plan to set seat quantity for. Total seats for the license, inclusive of the plan's included amount — seats beyond it are paid. ### Response The ID of the customer. The ID of the entity, if the plan was attached to an entity. Invoice details if an invoice was created. Only present when a charge was made. The status of the invoice (e.g., 'paid', 'open', 'draft'). The Stripe invoice ID. The total amount of the invoice in cents. The three-letter ISO currency code (e.g., 'usd'). URL to the hosted invoice page where the customer can view and pay the invoice. URL to redirect the customer to complete payment. Null if no payment action is required. Details about any action required to complete the payment. Present when the payment could not be processed automatically. The type of action required to complete the payment. A human-readable explanation of why this action is required. ```json 200 theme={null} { "customer_id": "cus_123", "invoice": { "status": "paid", "stripe_id": "in_1234", "total": 1500, "currency": "usd", "hosted_invoice_url": "https://invoice.stripe.com/..." }, "payment_url": null } ``` # Create Schedule Source: https://docs.useautumn.com/api-reference/billing/createSchedule openapi POST /v1/billing.create_schedule Creates a multi-phase subscription schedule for a customer. The first phase starts immediately and subsequent phases automatically transition at their scheduled start times. Use this endpoint to schedule future plan changes (e.g. switch from a trial plan to a paid plan on a specific date) or to define a sequence of plans that should activate over time. ### Body Parameters The ID of the customer to create the schedule for. Optional entity ID for an entity-scoped schedule. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Three-letter Stripe-supported currency code used to bill the immediate phase (for example, 'usd'). Invoice mode creates and sends an invoice instead of charging the customer's payment method immediately for the first phase. When true, creates an invoice and sends it to the customer instead of charging their card immediately. Uses Stripe's send\_invoice collection method. If true, enables the plan immediately even though the invoice is not paid yet. If true, finalizes the invoice so it can be sent to the customer. If false, keeps it as a draft for manual review. ID of an invoice template (configured in billing settings) whose footer (e.g. bank details) is applied to the invoice. Number of days the customer has to pay the invoice before it is due (Stripe days\_until\_due). List of discounts to apply to the immediate phase. Each discount can be an Autumn reward ID, Stripe coupon ID, or Stripe promotion code. The ID of the reward to apply as a discount. The promotion code to apply as a discount. URL to redirect to after successful checkout. Additional parameters to pass into the creation of the Stripe checkout session. Controls when to return a checkout URL for the immediate phase. 'always' forces a confirmation or checkout flow, 'if\_required' only redirects when needed, and 'never' disables redirects. Whether to prorate the immediate phase. 'none' skips proration charges and credits, 'bill\_difference' charges/credits the full-period price difference. If true, skips any billing changes for the schedule. Pass 'now' to reset the billing cycle anchor of the immediate phase to the current time. If true, the immediate-phase cusProducts are activated immediately (and scheduled-phase cusProducts pre-inserted) even when payment is pending via Stripe checkout. The Autumn schedule rows are persisted on checkout.session.completed. Deprecated and ignored. Active plans the schedule does not list keep running until a listed plan in their group replaces them or the schedule ends. Plans billed with the immediate phase that the schedule never expires or replaces. No phase may declare a plan in the same group and scope. The ID of the plan to schedule in this phase. The plan scope. Omit to inherit the request entity, pass null for customer-level, or pass an entity ID. On phases after the first, the entity must already be scoped by the first phase — a schedule cannot change scope mid-flight. Optional prepaid feature quantities for this phase's plan. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. Seat quantities for this phase's licenses, keyed by license plan. Omitted on a later phase, the phase grants only the included seats. The license plan to set seat quantity for. Total seats for the license, inclusive of the plan's included amount — seats beyond it are paid. Optional explicit plan version to schedule. Customize the plan to schedule. Can override price, replace items, or patch items with add\_items and remove\_items. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan (PUT-style — replaces all existing items). Mutually exclusive with add\_items / remove\_items / deprecated update\_items. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. A unique ID to identify this subscription. Useful when scheduling the same plan multiple times. Ordered phase definitions for the schedule. When this phase should start, in epoch milliseconds, or 'now' for the immediate phase. Relative start offset from the previous resolved schedule phase. The duration unit to offset this phase from the prior phase. How many duration\_type periods after the prior phase to start. Plans to materialize for this phase. The ID of the plan to schedule in this phase. The plan scope. Omit to inherit the request entity, pass null for customer-level, or pass an entity ID. On phases after the first, the entity must already be scoped by the first phase — a schedule cannot change scope mid-flight. Optional prepaid feature quantities for this phase's plan. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. Seat quantities for this phase's licenses, keyed by license plan. Omitted on a later phase, the phase grants only the included seats. The license plan to set seat quantity for. Total seats for the license, inclusive of the plan's included amount — seats beyond it are paid. Optional explicit plan version to schedule. Customize the plan to schedule. Can override price, replace items, or patch items with add\_items and remove\_items. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan (PUT-style — replaces all existing items). Mutually exclusive with add\_items / remove\_items / deprecated update\_items. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. A unique ID to identify this subscription. Useful when scheduling the same plan multiple times. Pass 'phase\_start' to reset the billing cycle when this phase starts. On the first phase, a future timestamp in epoch milliseconds anchors the cycle on that date instead. How the change when this phase starts is billed. 'prorate\_immediately' charges or credits the prorated difference, 'none' skips it. The first phase also takes 'bill\_difference', which charges or credits the full-period price difference. ### Response The ID of the customer. The entity ID for the schedule, or null when customer-level. Whether the schedule is fully created or waiting for payment or confirmation to complete. The ID of the created schedule. Null when the schedule is waiting on Autumn checkout confirmation. Persisted phases in ascending starts\_at order. Empty when waiting on Autumn checkout confirmation. The ID of the persisted phase row. When this phase starts, in epoch milliseconds. Customer products materialized for this phase. Invoice details if an invoice was created. Only present when a charge was made. The status of the invoice (e.g., 'paid', 'open', 'draft'). The Stripe invoice ID. The total amount of the invoice in cents. The three-letter ISO currency code (e.g., 'usd'). URL to the hosted invoice page where the customer can view and pay the invoice. URL to redirect the customer to complete payment. Null if no payment action is required. The type of action required to complete the payment. A human-readable explanation of why this action is required. ```json 200 theme={null} { "customer_id": "cus_123", "entity_id": null, "status": "created", "schedule_id": "sch_1234", "phases": [ { "phase_id": "sphs_1111", "starts_at": 1735689600000, "customer_product_ids": [ "cus_prod_1111" ] }, { "phase_id": "sphs_2222", "starts_at": 1736899200000, "customer_product_ids": [ "cus_prod_2222" ] } ], "invoice": null, "payment_url": null } ``` # Import Source: https://docs.useautumn.com/api-reference/billing/import openapi POST /v1/billing.import Image a customer into Autumn for live migration. Read-only against processors. ### Body Parameters Autumn customer to image into. Optional identity fields upserted onto the customer (applied to existing customers too). Display name for the customer. Email address for the customer. Anti-fraud fingerprint for the customer. Unix ms timestamp the customer signed up, so a migrated customer keeps its original signup date. Defaults to the import time for a customer Autumn creates here. The customer's processor identities (e.g. Stripe customer id, RevenueCat app\_user\_id). Omit for customers with no processor, e.g. those only ever on a free plan. The processor this identity belongs to. The customer's id in that processor (Stripe customer id, or RevenueCat app\_user\_id). The billing objects (subscriptions, one-offs) to image, each carrying its plan. The processor that owns this billable (stripe or revenuecat). Omit for plans with no processor, e.g. a free plan. Existing processor billing object this billable is adopted from; omit for paid one-offs. Existing processor subscription id this billable is adopted from. Existing processor subscription-schedule id this billable is adopted from. Unix ms billing anchor shared by co-billed plans on this billable. The single plan on this billable (provide either plan or phases, not both). The Autumn plan to attach to the customer. Specific plan version to attach; defaults to the latest. Set the status of the plan to be flashed. Active if undefined. When the plan started (Unix ms). Defaults to the linked subscription's start, else the import time. Set this for one-off purchases to record the real purchase date. Seat/unit quantity for the plan. Purchased prepaid quantities per feature. The prepaid feature being quantified. Purchased quantity for this prepaid feature. Per-feature balances to image onto the plan. The feature whose balance is being set. Disambiguates which entitlement line to target when the feature has multiple. Reset interval selecting which entitlement line to target when a feature has several ('lifetime' or null = the non-resetting one-off line). Selects the included vs prepaid vs usage-based (pay-per-use) entitlement line when a feature has several. Units already consumed; remaining balance is derived from the plan allowance minus this. Explicit remaining balance override (mutually exclusive with usage). Unix ms timestamp of this line's next reset. If true, validate and compute without persisting; returns what would be flashed. ### Response The imaged customer's id. Per-plan outcome of the flash. The plan that was imaged. The processor that owns the imaged plan. The created (or existing) customer product id, if any. The resulting status of the imaged plan. True if an active plan already existed and this one was left untouched. True if this was an existing active plan expired because it was absent from the imaged desired state. True when the imaged state may be wrong — e.g. a resetting plan with no resolvable billing anchor, or a paid recurring plan with no linked subscription for Autumn to manage. The plan is still imaged; see `reason` and fix by supplying started\_at or a subscription\_id. Why the plan was skipped, expired, or flagged as a mismatch, when applicable. The freshly-read imaged customer; null for dry\_run. Your unique identifier for the customer. The name of the customer. The email address of the customer. Timestamp of customer creation in milliseconds since epoch. A unique identifier (eg. serial number) to de-duplicate customers across devices or browsers. For example: apple device ID. Stripe customer ID. The environment this customer was created in. The metadata for the customer. Whether to send email receipts to the customer. Billing controls for the customer (auto top-ups, etc.) Customer-level entity allocations of shared credits. Amounts are requested shares before proportional scaling. The feature whose shared customer credits are allocated. The reset interval of the shared credits being allocated. Complete list of entity allocations for this feature. Omitted entities release their shares. The public entity ID. Requested credits per cycle, before proportional scaling. 0 releases the allocation. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Expand billing\_controls.auto\_topups.purchase\_limit for a count of top ups and the next\_reset\_at. The time interval for the purchase limit window. Null when no purchase limit is configured. Number of intervals in the purchase limit window. Null when no purchase limit is configured. Maximum number of auto top-ups allowed within the interval. Null when no purchase limit is configured. Number of auto top-ups already consumed in the current window. Unix ms timestamp when the current purchase window ends and the count resets. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature, with current interval usage. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Active and scheduled recurring plans that this customer has attached. The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. One-time purchases made by the customer. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. License seat pools granted by the customer's plans, with seat counts. The plan offered as an assignable license. The plan that offers this license. Display name of the license plan. Total seats the customer has for this license, included plus paid. Seats currently assigned to entities. Seats still available to assign. Paid seats purchased on top of the plan's included amount. Feature balances keyed by feature ID, showing usage limits and remaining amounts. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. Boolean feature flags keyed by feature ID, showing enabled access for on/off features. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Configuration for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. Payment processors this customer is connected to (Stripe, Vercel, RevenueCat). Omitted entirely when the customer has not been created in any processor. Stripe processor connection for the customer. Stripe customer ID. Vercel processor connection for the customer (public-safe subset). Vercel marketplace installation ID for this customer. Vercel account ID associated with the installation. RevenueCat processor connection for the customer. Customer's external ID, used as the RevenueCat app user ID. Null if the customer has no external ID set. Invoices for this customer. Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page Upcoming invoice for each of this customer's Stripe subscriptions. Plan IDs contributing line items to this invoice. Unix timestamp (milliseconds) when this invoice will be created. The three-letter ISO currency code. All amounts are in the currency's major unit (e.g., dollars for USD). The total before discounts. The total after discounts. The line items this invoice will contain: usage accrued in the closing cycle, plus recurring charges for the opening cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. Entities associated with this customer. The unique identifier of the entity The name of the entity The customer ID this entity belongs to The feature ID this entity belongs to Unix timestamp when the entity was created The environment (sandbox/live) Trial usage history for this customer. Rewards earned or applied for this customer. Array of active discounts applied to the customer The unique identifier for this discount The name of the discount or coupon The type of reward The discount value (percentage or fixed amount) How long the discount lasts Number of billing periods the discount applies for repeating durations The currency code for fixed amount discounts Timestamp when the discount becomes active Timestamp when the discount expires The Stripe subscription ID this discount is applied to Total amount saved from this discount Referral records for this customer. The customer's default payment method. Billing details read live from the linked Stripe customer. Null when no Stripe customer is linked. Two-letter country code (ISO 3166-1 alpha-2). Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Label, e.g. PO Number. ```json 200 theme={null} { "customer_id": "cus_123", "flashed": [ { "plan_id": "pro", "processor": "stripe", "customer_product_id": "cus_prod_123", "status": "active", "skipped": false } ], "customer": { "id": "cus_123", "name": "Jane Doe", "email": "jane@example.com", "createdAt": 1771409161016, "fingerprint": null, "stripeId": "cus_stripe_123", "processors": { "stripe": { "id": "cus_stripe_123" } }, "env": "sandbox", "metadata": {}, "sendEmailReceipts": false, "billingControls": { "autoTopups": [] }, "subscriptions": [ { "planId": "pro", "autoEnable": false, "addOn": false, "status": "active", "pastDue": false, "canceledAt": null, "expiresAt": null, "trialEndsAt": null, "startedAt": 1771431921437, "currentPeriodStart": 1771431921437, "currentPeriodEnd": 1771999921437, "quantity": 1 } ], "purchases": [], "balances": { "messages": { "featureId": "messages", "granted": 100, "remaining": 90, "usage": 10, "unlimited": false, "overageAllowed": false, "maxPurchase": null, "nextResetAt": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "planId": "pro", "includedGrant": 100, "prepaidGrant": 0, "remaining": 90, "usage": 10, "unlimited": false, "reset": { "interval": "month", "resetsAt": 1773851121437 }, "price": null, "expiresAt": null } ] } }, "flags": {}, "config": { "disable_pooled_balance": false, "disable_overage_billing": false } } } ``` # Multi Attach Source: https://docs.useautumn.com/api-reference/billing/multiAttach openapi POST /v1/billing.multi_attach Attaches multiple plans to a customer in a single request. Creates a single Stripe subscription with all plans consolidated. Use this endpoint when you need to subscribe a customer to multiple plans at once, such as a base plan plus add-ons, or to create a bundle of products. ### Body Parameters The ID of the customer to attach the plans to. The ID of the entity to attach the plans to. The list of plans to attach to the customer. The ID of the plan to attach. Customize the plan to attach. Can override its price or items. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. If this plan contains prepaid features, use this field to specify the quantity of each prepaid feature. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. The version of the plan to attach. A unique ID to identify this subscription. Useful when attaching the same plan multiple times. The entity scope for this plan. Omit to inherit the request scope, or pass null for customer-level. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp in milliseconds for backdating every plan in this multi-attach. Currency to bill this multi-attach in (e.g. usd, eur). Must match the customer's currency if they are already locked to one, and every plan must offer a paid price in it. Defaults to the customer's currency, then the org default. Invoice mode creates a draft or open invoice and sends it to the customer, instead of charging their card immediately. When true, creates an invoice and sends it to the customer instead of charging their card immediately. Uses Stripe's send\_invoice collection method. If true, enables the plan immediately even though the invoice is not paid yet. If true, finalizes the invoice so it can be sent to the customer. If false, keeps it as a draft for manual review. ID of an invoice template (configured in billing settings) whose footer (e.g. bank details) is applied to the invoice. Number of days the customer has to pay the invoice before it is due (Stripe days\_until\_due). List of discounts to apply. Each discount can be an Autumn reward ID, Stripe coupon ID, or Stripe promotion code. The ID of the reward to apply as a discount. The promotion code to apply as a discount. How to handle billing. 'prorate\_immediately' charges/credits prorated amounts now, 'none' does not charge/credit anything, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. Pass 'now' to reset the billing cycle of every plan on the subscription to the time of this request. URL to redirect to after successful checkout. Additional parameters to pass into the creation of the Stripe checkout session. Controls when to return a checkout URL. 'always' returns a URL even if payment succeeds, 'if\_required' only when payment action is needed, 'never' disables redirects. Only applicable when the customer has an existing Stripe subscription. If true, creates a new separate subscription instead of merging into the existing one. If true, the cusProducts are activated immediately even when payment is pending via Stripe checkout. Customer details to set when creating a customer Customer's name Customer's email address Unique identifier (eg, serial number) to detect duplicate customers and prevent free trial abuse Additional metadata for the customer Stripe customer ID if you already have one Whether to create the customer in Stripe The ID of the free plan to auto-enable for the customer Whether to send email receipts to this customer Currency to bill this customer in (e.g. usd, eur). Defaults to the organization's default currency. Billing controls for the customer (auto top-ups, etc.) List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Miscellaneous configurations for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. The feature ID that this entity is associated with Name of the entity Billing controls for the entity. List of spend limits per feature. Each entry caps overage (overage\_limit) and/or per-interval usage (usage\_limit). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature for this entity. An entity entry overrides the customer's for that feature. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. ### Response The ID of the customer. The ID of the entity, if the plan was attached to an entity. Invoice details if an invoice was created. Only present when a charge was made. The status of the invoice (e.g., 'paid', 'open', 'draft'). The Stripe invoice ID. The total amount of the invoice in cents. The three-letter ISO currency code (e.g., 'usd'). URL to the hosted invoice page where the customer can view and pay the invoice. URL to redirect the customer to complete payment. Null if no payment action is required. Details about any action required to complete the payment. Present when the payment could not be processed automatically. The type of action required to complete the payment. A human-readable explanation of why this action is required. ```json 200 theme={null} { "customer_id": "cus_123", "invoice": { "status": "paid", "stripe_id": "in_1234", "total": 4900, "currency": "usd", "hosted_invoice_url": "https://invoice.stripe.com/..." }, "payment_url": null } ``` # Multi Update Source: https://docs.useautumn.com/api-reference/billing/multiUpdate openapi POST /v1/billing.multi_update Updates multiple plans on a customer in a single request. Currently supports cancel actions (immediately, end of cycle, or uncancel) across one or more subscriptions. Use this endpoint to cancel or uncancel several plans atomically in one call — for example canceling a main plan together with its add-ons, or plans across multiple entities. The multi update endpoint applies updates to multiple plans in a single, atomic request. It currently supports cancel actions. For updating a single plan (like changing quantities or customizing items), use [update](/api-reference/billing/billingUpdate) instead. ### Common Use Cases ```typescript Cancel a plan and its add-on theme={null} const response = await autumn.billing.multiUpdate({ customerId: "cus_123", updates: [ { planId: "pro_plan", cancelAction: "cancel_end_of_cycle" }, { planId: "addon_seats", cancelAction: "cancel_end_of_cycle" }, ], }); ``` ```typescript Cancel immediately with a refund and Stripe reason theme={null} const response = await autumn.billing.multiUpdate({ customerId: "cus_123", updates: [ { planId: "pro_plan", cancelAction: "cancel_immediately", refundLastPayment: "full", subscriptionParams: { cancellation_details: { feedback: "too_expensive", comment: "Switching to a competitor", }, }, }, ], }); ``` ### Body Parameters The ID of the customer to update plans for. The ID of the entity to update plans for. Individual updates can override this with their own entity\_id. Controls how the last payment is refunded on immediate cancellation. 'prorated' refunds the unused portion, 'full' refunds the entire last payment. Additional parameters to pass into the Stripe subscription update or cancel call. The list of plan updates to apply to the customer. The ID of the plan to update. Optional if subscription\_id is provided. A unique ID to identify the subscription to update. Useful when a customer has multiple products with the same plan. The ID of the entity this update targets. Overrides the top-level entity\_id for this update. Action to perform for cancellation. 'cancel\_immediately' cancels now with prorated refund, 'cancel\_end\_of\_cycle' cancels at period end, 'uncancel' reverses a pending cancellation. How to handle proration for this update. 'prorate\_immediately' charges/credits prorated amounts now, 'none' skips creating any charges, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. ### Response The ID of the customer. The ID of the entity, if the plan was attached to an entity. Invoice details if an invoice was created. Only present when a charge was made. The status of the invoice (e.g., 'paid', 'open', 'draft'). The Stripe invoice ID. The total amount of the invoice in cents. The three-letter ISO currency code (e.g., 'usd'). URL to the hosted invoice page where the customer can view and pay the invoice. URL to redirect the customer to complete payment. Null if no payment action is required. Details about any action required to complete the payment. Present when the payment could not be processed automatically. The type of action required to complete the payment. A human-readable explanation of why this action is required. ```json 200 theme={null} { "customer_id": "cus_123", "invoice": { "status": "paid", "stripe_id": "in_1234", "total": -20, "currency": "usd", "hosted_invoice_url": "https://invoice.stripe.com/..." }, "payment_url": null } ``` # Open Customer Portal Source: https://docs.useautumn.com/api-reference/billing/openCustomerPortal openapi POST /v1/billing.open_customer_portal Create a billing portal session for a customer to manage their subscription. ### Body Parameters The ID of the customer to open the billing portal for. Stripe billing portal configuration ID. Create configurations in your Stripe dashboard. URL to redirect to when back button is clicked in the billing portal ### Response The ID of the billing portal session URL to the billing portal ```json 200 theme={null} { "customer_id": "cus_123", "url": "https://billing.stripe.com/session/..." } ``` # Preview Attach Source: https://docs.useautumn.com/api-reference/billing/previewAttach openapi POST /v1/billing.preview_attach Previews the billing changes that would occur when attaching a plan, without actually making any changes. Use this endpoint to show customers what they will be charged before confirming a subscription change. ### Body Parameters The ID of the customer to attach the plan to. The ID of the entity to attach the plan to. The ID of the plan. If this plan contains prepaid features, use this field to specify the quantity of each prepaid feature. This quantity includes the included amount and billing units defined when setting up the plan. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. The version of the plan to attach. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Customize the plan to attach. Can override the price, items, licenses, free trial, or a combination. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan (PUT-style — replaces all existing items). Mutually exclusive with add\_items / remove\_items / deprecated update\_items. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Invoice mode creates a draft or open invoice and sends it to the customer, instead of charging their card immediately. This uses Stripe's send\_invoice collection method. When true, creates an invoice and sends it to the customer instead of charging their card immediately. Uses Stripe's send\_invoice collection method. If true, enables the plan immediately even though the invoice is not paid yet. If true, finalizes the invoice so it can be sent to the customer. If false, keeps it as a draft for manual review. ID of an invoice template (configured in billing settings) whose footer (e.g. bank details) is applied to the invoice. Number of days the customer has to pay the invoice before it is due (Stripe days\_until\_due). How to handle proration when updating an existing subscription. 'prorate\_immediately' charges/credits prorated amounts now, 'none' skips creating any charges, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. Controls when to return a checkout URL. 'always' returns a URL even if payment succeeds, 'if\_required' only when payment action is needed, 'never' disables redirects. A unique ID to identify this subscription. Can be used to target specific subscriptions in update operations when a customer has multiple products with the same plan. List of discounts to apply. Each discount can be an Autumn reward ID, Stripe coupon ID, or Stripe promotion code. The ID of the reward to apply as a discount. The promotion code to apply as a discount. URL to redirect to after successful checkout. Only applicable when the customer has an existing Stripe subscription. If true, creates a new separate subscription instead of merging into the existing one. Reset the billing cycle immediately with 'now', or schedule a reset at a future Unix timestamp in milliseconds. When the plan change should take effect. 'immediate' applies now, 'end\_of\_cycle' schedules for the end of the current billing cycle. By default, upgrades are immediate and downgrades are scheduled. Unix timestamp in milliseconds for when the attached plan should start. Future dates create a scheduled subscription. Unix timestamp in milliseconds for when the attached plan should end. Additional parameters to pass into the creation of the Stripe checkout session. If true, returns an Autumn-hosted checkout link that can create a fresh Stripe checkout session when opened. Custom line items that override the auto-generated proration invoice. Only valid for immediate plan changes (eg. upgrades or one off plans). Amount in dollars for this line item (e.g. 10.50). Can be negative for credits. Description for the line item. The processor subscription ID to link. Use this to attach an existing Stripe subscription instead of creating a new one. Whether to carry over balances from the previous plan. Whether to carry over balances from the previous plan. The IDs of the features to carry over balances from. If left undefined, all features will be carried over. Whether to carry over usages from the previous plan. Whether to carry over usages from the previous plan. The IDs of the features to carry over usages for. If left undefined, all consumable features will be carried over. Seat quantities for the plan's licenses, keyed by license plan. The license plan to set seat quantity for. Total seats for the license, inclusive of the plan's included amount — seats beyond it are paid. Key-value metadata to attach to the Stripe subscription, invoice, and checkout session created during this attach flow. Keys prefixed with 'autumn\_' are reserved and will be stripped. If true, skips any billing changes for the attach operation. If true, the customer's plan is activated immediately even when payment is deferred (invoice mode) or pending (Stripe checkout). For Stripe checkout, the customer\_product is inserted before the customer completes the hosted form. Set it here rather than on `invoice_mode`, which only covers the invoice-unpaid case. Tax behavior for this attach. Use automatic\_tax to turn automatic tax on or off for this request, or rate\_id to apply a fixed tax rate. Override the organization's automatic tax setting for this request. Can't be enabled together with rate\_id or tax\_rate\_id. Whether to calculate tax automatically through Stripe for this request. Defaults to the organization's automatic tax setting. Stripe tax rate ID (txr\_...) to apply instead of automatic tax. Takes precedence over the top-level tax\_rate\_id. Billing address, tax IDs and tax exemption to save to the customer before billing. Lets an invoice-mode attach supply the address automatic tax needs in the same call. Billing address saved to the customer and used to calculate tax. Replaces the customer's whole address. Two-letter country code (ISO 3166-1 alpha-2). Tax IDs to add to the customer. IDs the customer already has are ignored, and existing IDs are never removed. To remove one, use customers.update or Stripe. Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Customer tax exemption status. 'exempt' customers are never charged tax and need no address. 'reverse' applies reverse charge. Stripe tax rate ID (txr\_...) to apply as the default tax rate on the created subscription, invoice, or checkout session line items. Currency to bill this attach in (e.g. usd, eur). Must match the customer's currency if they are already locked to one, and the plan must offer a paid price in it. Defaults to the customer's currency, then the org default. Plan IDs to expire on the customer as part of this attach. Each must be an active plan. When no plan in the same group is being replaced, the attach takes over the subscription of the first paid plan listed here, unless `new_billing_subscription` is true (paid plans cannot be removed in that case). Any other paid plan must be billed on that same subscription (free plans can always be removed). Only allowed when the new plan starts immediately (not with `plan_schedule: end_of_cycle`, or a future `starts_at` without `enable_plan_immediately`). Discounts to remove from the subscription, by reward ID. Discounts not listed are left unchanged. The ID of the reward (or Stripe coupon) to remove. ### Response The ID of the customer. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. The total amount before discounts and tax for the current billing period. The final amount after discounts and tax for the current billing period. The three-letter ISO currency code. All amounts are in the currency's major unit (e.g., dollars for USD). True when this change clears the customer's usage balances, so the approver can see usage will reset. Preview of the next billing cycle, if applicable. This shows what the customer will be charged in subsequent cycles. Unix timestamp (milliseconds) when the next billing cycle starts. The total amount before discounts and tax for the next cycle. The final amount after discounts and tax for the next cycle. List of line items for the next billing cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. List of line items for usage-based features in the next cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. Expand the response with additional data. Products or subscription changes being added or updated. The ID of the plan affected by this preview change. The full plan object if it was expanded in the response. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The feature quantity selections associated with this plan change. The ID of the adjustable feature included in this change. The quantity that will apply for this feature in the change. When this change takes effect, in milliseconds since the Unix epoch, or null if it applies immediately. When this plan was canceled, in milliseconds since the Unix epoch, or null if it is not canceled. When this plan expires, in milliseconds since the Unix epoch, or null if it does not expire. Products or subscription changes being removed or ended. The ID of the plan affected by this preview change. The full plan object if it was expanded in the response. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The feature quantity selections associated with this plan change. The ID of the adjustable feature included in this change. The quantity that will apply for this feature in the change. When this change takes effect, in milliseconds since the Unix epoch, or null if it applies immediately. When this plan was canceled, in milliseconds since the Unix epoch, or null if it is not canceled. When this plan expires, in milliseconds since the Unix epoch, or null if it does not expire. Whether the customer will be redirected to a checkout page if attach is called. The type of checkout that will be used if the customer is redirected to a checkout page. Tax preview for the immediate charge. Contact us to enable the tax flag on your organisation. Shows only with flag enabled, a Stripe customer exists and has a location. Total tax amount in major currency units. Tax included in line item subtotals. Tax added on top of subtotals. Three-letter currency code. Calculation status. 'complete' when tax was calculated, 'incomplete' when the calculation errored, 'requires\_location' when the customer has no billing address to tax against. Stripe customer invoice credits preview. Stripe customer credit balance available, expressed as a positive number in major currency units. How much of that balance this invoice consumes, capped at its total. The rest stays on the customer. Three-letter currency code. ```json 200 theme={null} { "customerId": "charles", "lineItems": [ { "display_name": "Pro seed", "description": "Pro seed (from 18 Feb 2026 to 18 Mar 2026)", "subtotal": 20, "total": 20, "discounts": [] } ], "subtotal": 20, "total": 20, "currency": "usd" } ``` # Preview Multi Attach Source: https://docs.useautumn.com/api-reference/billing/previewMultiAttach openapi POST /v1/billing.preview_multi_attach Previews the billing changes that would occur when attaching multiple plans, without actually making any changes. Use this endpoint to show customers what they will be charged before confirming a multi-plan subscription. ### Body Parameters The ID of the customer to attach the plans to. The ID of the entity to attach the plans to. The list of plans to attach to the customer. The ID of the plan to attach. Customize the plan to attach. Can override its price or items. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. If this plan contains prepaid features, use this field to specify the quantity of each prepaid feature. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. The version of the plan to attach. A unique ID to identify this subscription. Useful when attaching the same plan multiple times. The entity scope for this plan. Omit to inherit the request scope, or pass null for customer-level. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp in milliseconds for backdating every plan in this multi-attach. Currency to bill this multi-attach in (e.g. usd, eur). Must match the customer's currency if they are already locked to one, and every plan must offer a paid price in it. Defaults to the customer's currency, then the org default. Invoice mode creates a draft or open invoice and sends it to the customer, instead of charging their card immediately. When true, creates an invoice and sends it to the customer instead of charging their card immediately. Uses Stripe's send\_invoice collection method. If true, enables the plan immediately even though the invoice is not paid yet. If true, finalizes the invoice so it can be sent to the customer. If false, keeps it as a draft for manual review. ID of an invoice template (configured in billing settings) whose footer (e.g. bank details) is applied to the invoice. Number of days the customer has to pay the invoice before it is due (Stripe days\_until\_due). List of discounts to apply. Each discount can be an Autumn reward ID, Stripe coupon ID, or Stripe promotion code. The ID of the reward to apply as a discount. The promotion code to apply as a discount. How to handle billing. 'prorate\_immediately' charges/credits prorated amounts now, 'none' does not charge/credit anything, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. Pass 'now' to reset the billing cycle of every plan on the subscription to the time of this request. URL to redirect to after successful checkout. Additional parameters to pass into the creation of the Stripe checkout session. Controls when to return a checkout URL. 'always' returns a URL even if payment succeeds, 'if\_required' only when payment action is needed, 'never' disables redirects. Only applicable when the customer has an existing Stripe subscription. If true, creates a new separate subscription instead of merging into the existing one. If true, the cusProducts are activated immediately even when payment is pending via Stripe checkout. Customer details to set when creating a customer Customer's name Customer's email address Unique identifier (eg, serial number) to detect duplicate customers and prevent free trial abuse Additional metadata for the customer Stripe customer ID if you already have one Whether to create the customer in Stripe The ID of the free plan to auto-enable for the customer Whether to send email receipts to this customer Currency to bill this customer in (e.g. usd, eur). Defaults to the organization's default currency. Billing controls for the customer (auto top-ups, etc.) List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Miscellaneous configurations for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. The feature ID that this entity is associated with Name of the entity Billing controls for the entity. List of spend limits per feature. Each entry caps overage (overage\_limit) and/or per-interval usage (usage\_limit). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature for this entity. An entity entry overrides the customer's for that feature. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. ### Response The ID of the customer. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. The total amount before discounts and tax for the current billing period. The final amount after discounts and tax for the current billing period. The three-letter ISO currency code. All amounts are in the currency's major unit (e.g., dollars for USD). True when this change clears the customer's usage balances, so the approver can see usage will reset. Preview of the next billing cycle, if applicable. This shows what the customer will be charged in subsequent cycles. Unix timestamp (milliseconds) when the next billing cycle starts. The total amount before discounts and tax for the next cycle. The final amount after discounts and tax for the next cycle. List of line items for the next billing cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. List of line items for usage-based features in the next cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. Expand the response with additional data. Products or subscription changes being added or updated. The ID of the plan affected by this preview change. The full plan object if it was expanded in the response. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The feature quantity selections associated with this plan change. The ID of the adjustable feature included in this change. The quantity that will apply for this feature in the change. When this change takes effect, in milliseconds since the Unix epoch, or null if it applies immediately. When this plan was canceled, in milliseconds since the Unix epoch, or null if it is not canceled. When this plan expires, in milliseconds since the Unix epoch, or null if it does not expire. Products or subscription changes being removed or ended. The ID of the plan affected by this preview change. The full plan object if it was expanded in the response. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The feature quantity selections associated with this plan change. The ID of the adjustable feature included in this change. The quantity that will apply for this feature in the change. When this change takes effect, in milliseconds since the Unix epoch, or null if it applies immediately. When this plan was canceled, in milliseconds since the Unix epoch, or null if it is not canceled. When this plan expires, in milliseconds since the Unix epoch, or null if it does not expire. Whether the customer will be redirected to a checkout page if attach is called. The type of checkout that will be used if the customer is redirected to a checkout page. Tax preview for the immediate charge. Contact us to enable the tax flag on your organisation. Shows only with flag enabled, a Stripe customer exists and has a location. Total tax amount in major currency units. Tax included in line item subtotals. Tax added on top of subtotals. Three-letter currency code. Calculation status. 'complete' when tax was calculated, 'incomplete' when the calculation errored, 'requires\_location' when the customer has no billing address to tax against. Stripe customer invoice credits preview. Stripe customer credit balance available, expressed as a positive number in major currency units. How much of that balance this invoice consumes, capped at its total. The rest stays on the customer. Three-letter currency code. ```json 200 theme={null} { "customerId": "charles", "lineItems": [ { "display_name": "Pro seed", "description": "Pro seed (from 18 Feb 2026 to 18 Mar 2026)", "subtotal": 20, "total": 20, "discounts": [] } ], "subtotal": 20, "total": 20, "currency": "usd" } ``` # Preview Multi Update Source: https://docs.useautumn.com/api-reference/billing/previewMultiUpdate openapi POST /v1/billing.preview_multi_update Previews the billing changes of a multi-plan update without making any changes. Returns one core preview per affected subscription. Use this endpoint to show customers the credits and next-cycle changes of canceling multiple plans before confirming. ### Body Parameters The ID of the customer to update plans for. The ID of the entity to update plans for. Individual updates can override this with their own entity\_id. Controls how the last payment is refunded on immediate cancellation. 'prorated' refunds the unused portion, 'full' refunds the entire last payment. Additional parameters to pass into the Stripe subscription update or cancel call. The list of plan updates to apply to the customer. The ID of the plan to update. Optional if subscription\_id is provided. A unique ID to identify the subscription to update. Useful when a customer has multiple products with the same plan. The ID of the entity this update targets. Overrides the top-level entity\_id for this update. Action to perform for cancellation. 'cancel\_immediately' cancels now with prorated refund, 'cancel\_end\_of\_cycle' cancels at period end, 'uncancel' reverses a pending cancellation. How to handle proration for this update. 'prorate\_immediately' charges/credits prorated amounts now, 'none' skips creating any charges, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. ### Response The ID of the customer the preview applies to. The three-letter ISO currency code. All amounts are in the currency's major unit (e.g., dollars for USD). The combined amount due today across all subscriptions (sum of subscriptions\[].total). One preview per affected Stripe subscription. Updates to plans without a subscription (free plans) produce no entry. The ID of the customer. List of line items for the current billing period. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. The total amount before discounts and tax for the current billing period. The final amount after discounts and tax for the current billing period. The three-letter ISO currency code. All amounts are in the currency's major unit (e.g., dollars for USD). True when this change clears the customer's usage balances, so the approver can see usage will reset. Preview of the next billing cycle, if applicable. This shows what the customer will be charged in subsequent cycles. Unix timestamp (milliseconds) when the next billing cycle starts. The total amount before discounts and tax for the next cycle. The final amount after discounts and tax for the next cycle. List of line items for the next billing cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. List of line items for usage-based features in the next cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. Expand the response with additional data. Products or subscription changes being added or updated. The ID of the plan affected by this preview change. The full plan object if it was expanded in the response. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The feature quantity selections associated with this plan change. The ID of the adjustable feature included in this change. The quantity that will apply for this feature in the change. When this change takes effect, in milliseconds since the Unix epoch, or null if it applies immediately. When this plan was canceled, in milliseconds since the Unix epoch, or null if it is not canceled. When this plan expires, in milliseconds since the Unix epoch, or null if it does not expire. Products or subscription changes being removed or ended. The ID of the plan affected by this preview change. The full plan object if it was expanded in the response. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The feature quantity selections associated with this plan change. The ID of the adjustable feature included in this change. The quantity that will apply for this feature in the change. When this change takes effect, in milliseconds since the Unix epoch, or null if it applies immediately. When this plan was canceled, in milliseconds since the Unix epoch, or null if it is not canceled. When this plan expires, in milliseconds since the Unix epoch, or null if it does not expire. The IDs of the plans updated on this subscription. ```json 200 theme={null} { "customer_id": "cus_123", "currency": "usd", "total": -40, "subscriptions": [ { "customerId": "charles", "lineItems": [ { "display_name": "Pro seed", "description": "Pro seed (from 18 Feb 2026 to 18 Mar 2026)", "subtotal": 20, "total": 20, "discounts": [] } ], "subtotal": -20, "total": -20, "currency": "usd", "plan_ids": [ "pro_plan" ] }, { "customerId": "charles", "lineItems": [ { "display_name": "Pro seed", "description": "Pro seed (from 18 Feb 2026 to 18 Mar 2026)", "subtotal": 20, "total": 20, "discounts": [] } ], "subtotal": -20, "total": -20, "currency": "usd", "plan_ids": [ "addon_seats" ] } ] } ``` # Preview Update Source: https://docs.useautumn.com/api-reference/billing/previewUpdate openapi POST /v1/billing.preview_update Previews the billing changes that would occur when updating a subscription, without actually making any changes. Use this endpoint to show customers prorated charges or refunds before confirming subscription modifications. ### Body Parameters The ID of the customer to attach the plan to. The ID of the entity to attach the plan to. The ID of the plan to update. Optional if subscription\_id is provided, or if the customer has only one product. If this plan contains prepaid features, use this field to specify the quantity of each prepaid feature. This quantity includes the included amount and billing units defined when setting up the plan. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. The version of the plan to attach. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Customize the plan to attach. Can override the price, items, licenses, free trial, or a combination. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan (PUT-style — replaces all existing items). Mutually exclusive with add\_items / remove\_items / deprecated update\_items. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Invoice mode creates a draft or open invoice and sends it to the customer, instead of charging their card immediately. This uses Stripe's send\_invoice collection method. When true, creates an invoice and sends it to the customer instead of charging their card immediately. Uses Stripe's send\_invoice collection method. If true, enables the plan immediately even though the invoice is not paid yet. If true, finalizes the invoice so it can be sent to the customer. If false, keeps it as a draft for manual review. ID of an invoice template (configured in billing settings) whose footer (e.g. bank details) is applied to the invoice. Number of days the customer has to pay the invoice before it is due (Stripe days\_until\_due). How to handle proration when updating an existing subscription. 'prorate\_immediately' charges/credits prorated amounts now, 'none' skips creating any charges, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. Controls when to return a checkout URL. 'always' returns a URL even if payment succeeds, 'if\_required' only when payment action is needed, 'never' disables redirects. A unique ID to identify this subscription. Can be used to target specific subscriptions in update operations when a customer has multiple products with the same plan. List of discounts to apply. Each discount can be an Autumn reward ID, Stripe coupon ID, or Stripe promotion code. The ID of the reward to apply as a discount. The promotion code to apply as a discount. Discounts to remove from the subscription, by reward ID. Discounts not listed are left unchanged. The ID of the reward (or Stripe coupon) to remove. Custom line items that replace the auto-generated proration invoice, or bill a standalone invoice when nothing else changes. Only valid on an existing recurring subscription. Amount in dollars for this line item (e.g. 10.50). Can be negative for credits. Description for the line item. Action to perform for cancellation. 'cancel\_immediately' cancels now with prorated refund, 'cancel\_end\_of\_cycle' cancels at period end, 'uncancel' reverses a pending cancellation. Reset the billing cycle immediately with 'now', or schedule a reset at a future Unix timestamp in milliseconds. If true, the subscription is updated internally without applying billing changes in Stripe. Controls how the last payment is refunded on immediate cancellation. 'prorated' refunds the unused portion, 'full' refunds the entire last payment. Additional parameters to pass into the Stripe subscription update or cancel call. Controls whether balances should be recalculated during the subscription update. If true, recalculates balances during the subscription update. Only applicable when updating feature quantities. Whether to carry over usages from the previous plan. Whether to carry over usages from the previous plan. The IDs of the features to carry over usages for. If left undefined, all consumable features will be carried over. Total seat quantities (inclusive of the license's included count) per license plan offered by this plan. Licenses not listed keep their current paid quantity. The license plan to set seat quantity for. Total seats for the license, inclusive of the plan's included amount — seats beyond it are paid. ### Response The ID of the customer. List of line items for the current billing period. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. The total amount before discounts and tax for the current billing period. The final amount after discounts and tax for the current billing period. The three-letter ISO currency code. All amounts are in the currency's major unit (e.g., dollars for USD). True when this change clears the customer's usage balances, so the approver can see usage will reset. Preview of the next billing cycle, if applicable. This shows what the customer will be charged in subsequent cycles. Unix timestamp (milliseconds) when the next billing cycle starts. The total amount before discounts and tax for the next cycle. The final amount after discounts and tax for the next cycle. List of line items for the next billing cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. List of line items for usage-based features in the next cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. Expand the response with additional data. Products or subscription changes being added or updated. The ID of the plan affected by this preview change. The full plan object if it was expanded in the response. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The feature quantity selections associated with this plan change. The ID of the adjustable feature included in this change. The quantity that will apply for this feature in the change. When this change takes effect, in milliseconds since the Unix epoch, or null if it applies immediately. When this plan was canceled, in milliseconds since the Unix epoch, or null if it is not canceled. When this plan expires, in milliseconds since the Unix epoch, or null if it does not expire. Products or subscription changes being removed or ended. The ID of the plan affected by this preview change. The full plan object if it was expanded in the response. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The feature quantity selections associated with this plan change. The ID of the adjustable feature included in this change. The quantity that will apply for this feature in the change. When this change takes effect, in milliseconds since the Unix epoch, or null if it applies immediately. When this plan was canceled, in milliseconds since the Unix epoch, or null if it is not canceled. When this plan expires, in milliseconds since the Unix epoch, or null if it does not expire. Tax preview for the immediate charge. Contact us to enable the tax flag on your organisation. Shows only with flag enabled, a Stripe customer exists and has a location. Total tax amount in major currency units. Tax included in line item subtotals. Tax added on top of subtotals. Three-letter currency code. Calculation status. 'complete' when tax was calculated, 'incomplete' when the calculation errored, 'requires\_location' when the customer has no billing address to tax against. Stripe customer invoice credits preview. Stripe customer credit balance available, expressed as a positive number in major currency units. How much of that balance this invoice consumes, capped at its total. The rest stays on the customer. Three-letter currency code. ```json 200 theme={null} { "customerId": "charles", "lineItems": [ { "display_name": "Pro seed", "description": "Pro seed (from 18 Feb 2026 to 18 Mar 2026)", "subtotal": 20, "total": 20, "discounts": [] } ], "subtotal": 20, "total": 20, "currency": "usd" } ``` # Setup Payment Source: https://docs.useautumn.com/api-reference/billing/setupPayment openapi POST /v1/billing.setup_payment Create a payment setup session for a customer to add or update their payment method. ### Body Parameters The ID of the customer to attach the plan to. The ID of the entity to attach the plan to. If specified, the plan will be attached to the customer after setup. If this plan contains prepaid features, use this field to specify the quantity of each prepaid feature. This quantity includes the included amount and billing units defined when setting up the plan. The ID of the feature to set quantity for. The quantity of the feature. Whether the customer can adjust the quantity. The version of the plan to attach. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Customize the plan to attach. Can override the price, items, licenses, free trial, or a combination. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Override the items in the plan (PUT-style — replaces all existing items). Mutually exclusive with add\_items / remove\_items / deprecated update\_items. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. How to handle proration when updating an existing subscription. 'prorate\_immediately' charges/credits prorated amounts now, 'none' skips creating any charges, 'bill\_difference' charges/credits the full-period price difference now without changing the billing cycle. A unique ID to identify this subscription. Can be used to target specific subscriptions in update operations when a customer has multiple products with the same plan. List of discounts to apply. Each discount can be an Autumn reward ID, Stripe coupon ID, or Stripe promotion code. The ID of the reward to apply as a discount. The promotion code to apply as a discount. URL to redirect to after successful checkout. Reset the billing cycle immediately with 'now', or schedule a reset at a future Unix timestamp in milliseconds. Unix timestamp in milliseconds for when the attached plan should start. Future dates create a scheduled subscription. Unix timestamp in milliseconds for when the attached plan should end. Additional parameters to pass into the creation of the Stripe checkout session. Custom line items that override the auto-generated proration invoice. Only valid for immediate plan changes (eg. upgrades or one off plans). Amount in dollars for this line item (e.g. 10.50). Can be negative for credits. Description for the line item. The processor subscription ID to link. Use this to attach an existing Stripe subscription instead of creating a new one. Whether to carry over balances from the previous plan. Whether to carry over balances from the previous plan. The IDs of the features to carry over balances from. If left undefined, all features will be carried over. Whether to carry over usages from the previous plan. Whether to carry over usages from the previous plan. The IDs of the features to carry over usages for. If left undefined, all consumable features will be carried over. Seat quantities for the plan's licenses, keyed by license plan. The license plan to set seat quantity for. Total seats for the license, inclusive of the plan's included amount — seats beyond it are paid. Key-value metadata to attach to the Stripe subscription, invoice, and checkout session created during this attach flow. Keys prefixed with 'autumn\_' are reserved and will be stripped. If true, skips any billing changes for the attach operation. If true, the customer's plan is activated immediately even when payment is deferred (invoice mode) or pending (Stripe checkout). For Stripe checkout, the customer\_product is inserted before the customer completes the hosted form. Set it here rather than on `invoice_mode`, which only covers the invoice-unpaid case. Tax behavior for this attach. Use automatic\_tax to turn automatic tax on or off for this request, or rate\_id to apply a fixed tax rate. Override the organization's automatic tax setting for this request. Can't be enabled together with rate\_id or tax\_rate\_id. Whether to calculate tax automatically through Stripe for this request. Defaults to the organization's automatic tax setting. Stripe tax rate ID (txr\_...) to apply instead of automatic tax. Takes precedence over the top-level tax\_rate\_id. Billing address, tax IDs and tax exemption to save to the customer before billing. Lets an invoice-mode attach supply the address automatic tax needs in the same call. Billing address saved to the customer and used to calculate tax. Replaces the customer's whole address. Two-letter country code (ISO 3166-1 alpha-2). Tax IDs to add to the customer. IDs the customer already has are ignored, and existing IDs are never removed. To remove one, use customers.update or Stripe. Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Customer tax exemption status. 'exempt' customers are never charged tax and need no address. 'reverse' applies reverse charge. Stripe tax rate ID (txr\_...) to apply as the default tax rate on the created subscription, invoice, or checkout session line items. Currency to bill this attach in (e.g. usd, eur). Must match the customer's currency if they are already locked to one, and the plan must offer a paid price in it. Defaults to the customer's currency, then the org default. Plan IDs to expire on the customer as part of this attach. Each must be an active plan. When no plan in the same group is being replaced, the attach takes over the subscription of the first paid plan listed here, unless `new_billing_subscription` is true (paid plans cannot be removed in that case). Any other paid plan must be billed on that same subscription (free plans can always be removed). Only allowed when the new plan starts immediately (not with `plan_schedule: end_of_cycle`, or a future `starts_at` without `enable_plan_immediately`). Discounts to remove from the subscription, by reward ID. Discounts not listed are left unchanged. The ID of the reward (or Stripe coupon) to remove. ### Response The ID of the customer The ID of the entity the plan (if specified) will be attached to after setup. URL to redirect the customer to setup their payment. ```json 200 theme={null} { "customer_id": "cus_123", "url": "https://checkout.stripe.com/..." } ``` # Verify Source: https://docs.useautumn.com/api-reference/billing/verify openapi POST /v1/billing.verify Checks a customer's Stripe subscriptions against Autumn's record of their plans and reports any drift. Read-only: it never changes Autumn or Stripe. Use this endpoint to audit that a customer's Stripe subscriptions, items, quantities, prices, schedules and cancellation state match what Autumn expects, for example after a migration or a manual change in Stripe. Verify checks a customer's Stripe subscriptions against the plans Autumn has on record and reports any drift, such as missing or unexpected items, quantity or price differences, schedule mismatches and cancellation state. It is read-only and never changes Autumn or Stripe. ### Common Use Cases ```typescript Verify all subscriptions theme={null} const response = await autumn.billing.verify({ customerId: "cus_123", }); const drifted = response.subscriptions.filter( (subscription) => subscription.status === "mismatched", ); ``` ```typescript Verify specific subscriptions in strict mode theme={null} const response = await autumn.billing.verify({ customerId: "cus_123", subscriptionIds: ["sub_1234"], strict: true, }); ``` Each mismatch carries a `message` you can show as-is and a `severity`. Warnings, like a Stripe subscription with no Autumn plan linked to it, can be deliberate; errors mean Stripe will bill differently from what Autumn expects. ### Body Parameters Autumn customer whose Stripe subscriptions should be checked against Autumn's customer\_products. Optional whitelist of Stripe subscription IDs to verify. Defaults to every subscription linked to the customer's plans, plus any other active Stripe subscription on the customer, which is reported as not linked to Autumn. When true, report missing usage-based items and unexpected metered Stripe items. Defaults to false. ### Response Human-readable one-line description of the mismatch. How serious the mismatch is — warnings (e.g. a Stripe-only subscription) can be deliberate. The Stripe price of the item this mismatch is about. The Autumn plan this mismatch belongs to, when resolvable. Present when the mismatch is inside a future scheduled phase rather than the current subscription. Human-readable one-line description of the mismatch. How serious the mismatch is — warnings (e.g. a Stripe-only subscription) can be deliberate. The Stripe price of the item this mismatch is about. The Autumn plan this mismatch belongs to, when resolvable. Present when the mismatch is inside a future scheduled phase rather than the current subscription. ```json 200 theme={null} { "customer_id": "cus_123", "customer_mismatches": [], "subscriptions": [ { "stripe_subscription_id": "sub_1234", "status": "mismatched", "mismatches": [ { "type": "prepaid_quantity_mismatch", "message": "Prepaid seats quantity differs — expected 10, Stripe has 5", "severity": "error", "actual_price_id": "price_1234", "feature_id": "seats", "plan_id": "pro_plan", "expected_quantity": 10, "actual_quantity": 5 } ] }, { "stripe_subscription_id": "sub_5678", "status": "correct", "mismatches": [] } ] } ``` # Batch Track Usage Source: https://docs.useautumn.com/api-reference/core/batchTrack openapi POST /v1/balances.batch_track Enqueue up to 1000 usage events for asynchronous processing. Items are validated synchronously up front; validated items are then enqueued via SQS for background deduction by workers. The response returns 200 (or 202) immediately and does not include balance information. On partial enqueue failure (some items fail to enqueue, others succeed), the endpoint still returns 200 (or 202) and logs the failures server-side; clients should NOT retry, because retrying re-enqueues the already-succeeded items. A 503 is returned only when zero items were successfully enqueued (queue entirely unavailable) — that case is safe to retry. Batch track enqueues up to **1000 usage events** in a single request. Items are validated synchronously, then enqueued for asynchronous processing. The response returns **202 immediately** without balance information — balances are deducted by background workers. Use this when you're sending high volumes of tracking events and don't need an immediate balance read for each one. ### Common Use Cases ```typescript Batch many customers theme={null} await autumn.balances.batchTrack([ { customerId: "cus_alice", featureId: "ai_messages", value: 1 }, { customerId: "cus_bob", featureId: "ai_messages", value: 1 }, { customerId: "cus_carol", featureId: "ai_messages", value: 3 }, ]); ``` ```typescript Mixed features and entities theme={null} await autumn.balances.batchTrack([ { customerId: "cus_123", featureId: "ai_messages", value: 5 }, { customerId: "cus_123", featureId: "api_calls", value: 12 }, { customerId: "cus_123", featureId: "seats", entityId: "team_a", value: 1 }, ]); ``` ### Partial-Failure Semantics Batch track is designed for fire-and-forget metering. On partial failure, **the endpoint still returns 202** and logs the failed items server-side. Clients should NOT retry the batch — retrying re-enqueues the already-succeeded items, which causes double-deduction. The trade-off is silent loss of the small subset that didn't enqueue vs. duplicate processing of the much larger subset that did. For event-logging workloads, gaps are preferable to duplicates. A 503 is returned only when **zero items were successfully enqueued** (the queue is entirely unavailable). In that case the whole request is safe to retry. If your workload requires per-item delivery guarantees, use the [single-event track endpoint](/api-reference/core/track) with client-side retry semantics instead. ### Limits * **Maximum batch size:** 1000 items per request * **Minimum batch size:** 1 item * **Rate limit:** 10 requests/second per organization (separate bucket from the single `/v1/balances.track` limiter) ### Body Parameters Array item The ID of the customer. The ID of the feature to track usage for. Required if event\_name is not provided. The ID of the entity for entity-scoped balances (e.g., per-seat limits). Event name to track usage for. Use instead of feature\_id when multiple features should be tracked from a single event. The amount of usage to record. Defaults to 1. Use negative values to credit balance (e.g., when removing a seat). Additional properties to attach to this usage event. Deduplicates this item: a second track with the same key within 24 hours is ignored. Unix timestamp in milliseconds to use for the usage event. Defaults to the current time. How to handle usage that exceeds the available balance. "cap" (default) deducts only what fits, stopping at zero. "overflow" deducts the full value: the balance can go negative and usage limits do not clamp the deduction, though spend limits still apply. ### Response ```json 200 theme={null} { "success": true } ``` # Check Permissions Source: https://docs.useautumn.com/api-reference/core/check openapi POST /v1/balances.check Checks whether a customer currently has enough balance to use a feature. Use this to gate access before a feature action. Enable sendEvent when you want to check and consume balance atomically in one request. Check determines if a customer has access to a feature based on their current balance. Returns `allowed: true` if they have sufficient balance, the feature is unlimited, or it's a boolean feature included in their plan. ### Common Use Cases ```typescript Check feature access theme={null} const { allowed, balance } = await autumn.check({ customerId: "cus_123", featureId: "ai_messages" }); if (!allowed) { // Show upgrade prompt or paywall } console.log(`You have ${balance.remaining} messages left`); ``` ```typescript Check and track atomically theme={null} const { allowed } = await autumn.check({ customerId: "cus_123", featureId: "api_calls", requiredBalance: 1, sendEvent: true // Deducts usage if allowed }); ``` ### Body Parameters The ID of the customer. The ID of the feature. The ID of the entity for entity-scoped balances (e.g., per-seat limits). Minimum balance required for access. Returns allowed: false if the customer's balance is below this value. Defaults to 1. Additional properties to attach to the usage event if send\_event is true. If true, atomically records a usage event while checking access. The required\_balance value is used as the usage amount. Combines check + track in one call. Reserve units of a feature upfront by passing a lock\_id, then call balances.finalize to confirm or release the hold. A unique identifier for this lock. Used to finalize the lock later via balances.finalize. Must be true to enable locking. Unix timestamp (ms) when the lock automatically expires and releases the held balance. How to handle a lock that exceeds the available balance. "reject" (default) returns allowed: false and reserves nothing. "cap" reserves only what fits and returns allowed: true. "overflow" reserves the full value: the balance can go negative, though spend limits still apply. balances.finalize reuses the behavior chosen here. If true, includes upgrade/upsell information in the response when access is denied. Useful for displaying paywalls. ### Response Whether the customer is allowed to use the feature. True if they have sufficient balance or the feature is unlimited/boolean. The ID of the customer that was checked. The ID of the entity, if an entity-scoped check was performed. The required balance that was checked against. The customer's balance for this feature. Null if the customer has no balance for this feature. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. Map of feature\_id to balance for the checked feature and any related features (e.g. linked credit systems). The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. The flag associated with this check, if any. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Upgrade/upsell information when access is denied. Only present if with\_preview was true and allowed is false. The reason access was denied. 'usage\_limit' means the customer exceeded their balance, 'feature\_flag' means the feature is not included in their plan. A title suitable for displaying in a paywall or upgrade modal. A message explaining why access was denied. The ID of the feature that was checked. The display name of the feature. Products that would grant access to this feature. Use to display upgrade options. The ID of the product you set when creating the product The name of the product Product group which this product belongs to The environment of the product Whether the product is an add-on and can be purchased alongside other products Whether the product is the default product Whether this product has been archived and is no longer available The current version of the product The timestamp of when the product was created in milliseconds since epoch Array of product items that define the product's features and pricing The type of the product item The feature ID of the product item. If the item is a fixed price, should be `null` Single use features are used once and then depleted, like API calls or credits. Continuous use features are those being used on an ongoing-basis, like storage or seats. The amount of usage included for this feature. The reset or billing interval of the product item. If null, feature will have no reset date, and if there's a price, it will be billed one-off. The interval count of the product item. The price of the product item. Should be `null` if tiered pricing is set. Tiered pricing for the product item. Not applicable for fixed price items. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). Defaults to graduated. Whether the feature should be prepaid upfront or billed for how much they use end of billing period. The amount per billing unit (eg. \$9 / 250 units) Whether the usage should be reset when the product is enabled. The entity feature ID of the product item if applicable. The display of the product item. Used in customer context. Quantity of the feature the customer has prepaid for. Used in customer context. Quantity of the feature the customer will prepay for in the next cycle. Configuration for rollover and proration behavior of the feature. Free trial configuration for this product, if available The duration type of the free trial The length of the duration type specified Whether the free trial is limited to one per customer fingerprint Whether the free trial requires a card. If false, the customer can attach the product without going through a checkout flow or having a card on file. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Used in customer context. Whether the free trial is available for the customer if they were to attach the product. ID of the base variant this product is derived from Plan-level billing controls used as customer defaults List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Scenario for when this product is used in attach flows True if the product has no base price or usage prices True if the product only contains a one-time price The billing interval group for recurring products (e.g., 'monthly', 'yearly') True if the product includes a free trial True if the product can be updated after creation (only applicable if there are prepaid recurring prices) ```json 200 theme={null} { "allowed": true, "customer_id": "cus_123", "entity_id": null, "required_balance": 1, "balance": { "feature_id": "messages", "granted": 100, "remaining": 72, "usage": 28, "unlimited": false, "overage_allowed": false, "max_purchase": null, "next_reset_at": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "plan_id": "pro_plan", "included_grant": 100, "prepaid_grant": 0, "remaining": 72, "usage": 28, "unlimited": false, "reset": { "interval": "month", "resets_at": 1773851121437 }, "price": null, "expires_at": null } ] } } ``` # Track Usage Source: https://docs.useautumn.com/api-reference/core/track openapi POST /v1/balances.track Records usage for a customer feature. Queued by default; pass async: false to apply it before responding with updated balances. Use this after an action happens to decrement usage, or send a negative value to credit balance back. Track records usage events to decrement a customer's balance. Use this to meter feature consumption like API calls, messages sent, or credits used. ### Common Use Cases ```typescript Track single usage theme={null} await autumn.track({ customerId: "cus_123", featureId: "ai_messages", value: 1 }); ``` ```typescript Track with idempotency theme={null} await autumn.track( { customerId: "cus_123", featureId: "api_calls", value: 1 }, { headers: { "Idempotency-Key": "request_abc123" } } // Retries with the same key are rejected with a 409 ); ``` ```typescript Credit balance (negative value) theme={null} await autumn.track({ customerId: "cus_123", featureId: "seats", value: -1 // Increases balance when removing a seat }); ``` ```typescript Async (fire-and-forget) theme={null} await autumn.track({ customerId: "cus_123", featureId: "ai_messages", value: 1, async: true // Returns 202 immediately; usage processed in the background }); ``` ### Body Parameters The ID of the customer. The ID of the feature to track usage for. Required if event\_name is not provided. The ID of the entity for entity-scoped balances (e.g., per-seat limits). Event name to track usage for. Use instead of feature\_id when multiple features should be tracked from a single event. The amount of usage to record. Defaults to 1. Use negative values to credit balance (e.g., when removing a seat). Additional properties to attach to this usage event. Unix timestamp in milliseconds to use for the usage event. Defaults to the current time. How to handle usage that exceeds the available balance. "cap" (default) deducts only what fits, stopping at zero. "overflow" deducts the full value: the balance can go negative and usage limits do not clamp the deduction, though spend limits still apply. Defaults to true: the event is queued and the response is a 202 with balance: null. Set to false to apply the usage before responding with a 200 and the updated balance. ### Response The ID of the customer whose usage was tracked. The ID of the entity, if entity-scoped tracking was performed. The event name that was tracked, if event\_name was used instead of feature\_id. The amount of usage that was recorded. The updated balance for the tracked feature. Null if tracking by event\_name that affects multiple features. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. Map of feature\_id to updated balance for the tracked feature and any related features (e.g. linked credit systems). Value is null when the customer has no balance for that feature. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. Per-balance breakdown of what this event deducted. A single event can consume from multiple balance rows when credit systems or rollovers are involved; this surfaces each one so callers can build per-feature usage views without polling. ID of the underlying balance row that was deducted from (customer\_entitlement or rollover). The feature this balance belongs to. ID of the plan/product this balance belongs to. Null when the balance can't be attributed to a single plan (e.g. it spans multiple). Reset configuration for the balance this deduction came from, or null if the balance doesn't reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Amount deducted from this balance. Positive when usage was consumed, negative when credit was restored (e.g. a refund via negative track value). ```json 200 theme={null} { "customer_id": "cus_123", "value": 1, "balance": { "feature_id": "messages", "granted": 100, "remaining": 72, "usage": 28, "unlimited": false, "overage_allowed": false, "max_purchase": null, "next_reset_at": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "plan_id": "pro_plan", "included_grant": 100, "prepaid_grant": 0, "remaining": 72, "usage": 28, "unlimited": false, "reset": { "interval": "month", "resets_at": 1773851121437 }, "price": null, "expires_at": null } ] }, "deductions": [ { "balance_id": "cus_ent_3DdSDoyFmoA9Neecl2a2Gc507X2", "feature_id": "messages", "plan_id": "pro", "reset": { "interval": "month", "resets_at": 1781288736881 }, "value": 1 } ] } ``` # Delete Customer Source: https://docs.useautumn.com/api-reference/customers/deleteCustomer openapi POST /v1/customers.delete Deletes a customer by ID. ### Body Parameters ID of the customer to delete Whether to also delete the customer in Stripe ### Response # Get Customer Source: https://docs.useautumn.com/api-reference/customers/getCustomer openapi POST /v1/customers.get Fetches a customer by ID, optionally expanding related data such as invoices or entities. Use this when you know the customer exists or assert they exist without creating them. ### Body Parameters ID of the customer to fetch Expand related customer data like invoices or entities, or expand nested objects like balances.feature, flags.feature, subscriptions.plan, and purchases.plan. ### Response Your unique identifier for the customer. The name of the customer. The email address of the customer. Timestamp of customer creation in milliseconds since epoch. A unique identifier (eg. serial number) to de-duplicate customers across devices or browsers. For example: apple device ID. Stripe customer ID. The environment this customer was created in. The metadata for the customer. Whether to send email receipts to the customer. Billing controls for the customer (auto top-ups, etc.) Customer-level entity allocations of shared credits. Amounts are requested shares before proportional scaling. The feature whose shared customer credits are allocated. The reset interval of the shared credits being allocated. Complete list of entity allocations for this feature. Omitted entities release their shares. The public entity ID. Requested credits per cycle, before proportional scaling. 0 releases the allocation. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Expand billing\_controls.auto\_topups.purchase\_limit for a count of top ups and the next\_reset\_at. The time interval for the purchase limit window. Null when no purchase limit is configured. Number of intervals in the purchase limit window. Null when no purchase limit is configured. Maximum number of auto top-ups allowed within the interval. Null when no purchase limit is configured. Number of auto top-ups already consumed in the current window. Unix ms timestamp when the current purchase window ends and the count resets. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature, with current interval usage. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Active and scheduled recurring plans that this customer has attached. The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. One-time purchases made by the customer. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. License seat pools granted by the customer's plans, with seat counts. The plan offered as an assignable license. The plan that offers this license. Display name of the license plan. Total seats the customer has for this license, included plus paid. Seats currently assigned to entities. Seats still available to assign. Paid seats purchased on top of the plan's included amount. Feature balances keyed by feature ID, showing usage limits and remaining amounts. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. Boolean feature flags keyed by feature ID, showing enabled access for on/off features. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Configuration for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. Payment processors this customer is connected to (Stripe, Vercel, RevenueCat). Omitted entirely when the customer has not been created in any processor. Stripe processor connection for the customer. Stripe customer ID. Vercel processor connection for the customer (public-safe subset). Vercel marketplace installation ID for this customer. Vercel account ID associated with the installation. RevenueCat processor connection for the customer. Customer's external ID, used as the RevenueCat app user ID. Null if the customer has no external ID set. Invoices for this customer. Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page Upcoming invoice for each of this customer's Stripe subscriptions. Plan IDs contributing line items to this invoice. Unix timestamp (milliseconds) when this invoice will be created. The three-letter ISO currency code. All amounts are in the currency's major unit (e.g., dollars for USD). The total before discounts. The total after discounts. The line items this invoice will contain: usage accrued in the closing cycle, plus recurring charges for the opening cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. Entities associated with this customer. The unique identifier of the entity The name of the entity The customer ID this entity belongs to The feature ID this entity belongs to Unix timestamp when the entity was created The environment (sandbox/live) Trial usage history for this customer. Rewards earned or applied for this customer. Array of active discounts applied to the customer The unique identifier for this discount The name of the discount or coupon The type of reward The discount value (percentage or fixed amount) How long the discount lasts Number of billing periods the discount applies for repeating durations The currency code for fixed amount discounts Timestamp when the discount becomes active Timestamp when the discount expires The Stripe subscription ID this discount is applied to Total amount saved from this discount Referral records for this customer. The customer's default payment method. Billing details read live from the linked Stripe customer. Null when no Stripe customer is linked. Two-letter country code (ISO 3166-1 alpha-2). Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Label, e.g. PO Number. ```json 200 theme={null} { "id": "2ee25a41-0d81-4ad2-8451-ec1aadaefe58", "name": "Patrick", "email": "patrick@useautumn.com", "createdAt": 1771409161016, "fingerprint": null, "stripeId": "cus_U0BKxpq1mFhuJO", "processors": { "stripe": { "id": "cus_U0BKxpq1mFhuJO" } }, "env": "sandbox", "metadata": {}, "sendEmailReceipts": false, "billingControls": { "autoTopups": [] }, "subscriptions": [ { "planId": "pro_plan", "autoEnable": true, "addOn": false, "status": "active", "pastDue": false, "canceledAt": null, "expiresAt": null, "trialEndsAt": null, "startedAt": 1771431921437, "currentPeriodStart": 1771431921437, "currentPeriodEnd": 1771999921437, "quantity": 1 } ], "purchases": [], "licenses": [], "balances": { "messages": { "featureId": "messages", "granted": 100, "remaining": 0, "usage": 100, "unlimited": false, "overageAllowed": false, "maxPurchase": null, "nextResetAt": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "planId": "pro_plan", "includedGrant": 100, "prepaidGrant": 0, "remaining": 0, "usage": 100, "unlimited": false, "reset": { "interval": "month", "resetsAt": 1773851121437 }, "price": null, "expiresAt": null } ] } }, "flags": { "advanced_workflows": { "id": "cus_ent_abc123", "plan_id": "pro_plan", "expires_at": null, "feature_id": "advanced_workflows" } }, "config": { "disable_pooled_balance": false, "disable_overage_billing": false } } ``` # Get or Create Customer Source: https://docs.useautumn.com/api-reference/customers/getOrCreateCustomer openapi POST /v1/customers.get_or_create Creates a customer if they do not exist, or returns the existing customer by your external customer ID. Use this as the primary entrypoint before billing operations so the customer record is always present and up to date. If the customer already exists and you try to create it again, you will simply be returned the customer object (rather than an error being thrown). ### Currency Pass `currency` to bill this customer in a currency other than your organization's default. Their plans must offer a price in that currency via [`additional_currencies`](/documentation/concepts/plans#multiple-currencies). If omitted, the customer's currency is set by their first paid attach. ### Body Parameters Your unique identifier for the customer Customer's name Customer's email address Unique identifier (eg, serial number) to detect duplicate customers and prevent free trial abuse Additional metadata for the customer Stripe customer ID if you already have one Whether to create the customer in Stripe The ID of the free plan to auto-enable for the customer Whether to send email receipts to this customer Currency to bill this customer in (e.g. usd, eur). Defaults to the organization's default currency. Billing controls for the customer (auto top-ups, etc.) List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Miscellaneous configurations for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. Billing details to set on the Stripe customer. Creates the Stripe customer if needed. Billing address, used for tax and shown on invoices. Replaces the whole address, as in Stripe; null clears it. Two-letter country code (ISO 3166-1 alpha-2). Tax IDs to add or remove (e.g. VAT). Stripe tax IDs cannot be edited, so change one by removing the old ID and adding the new one. IDs not listed are kept. Tax IDs to add. IDs the customer already has are ignored. Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Tax IDs to remove, matched by type and value. IDs the customer doesn't have are ignored. Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Tax exemption status. Use reverse for reverse-charge customers. Up to 4 custom fields shown on every invoice, e.g. a PO number. Replaces the existing list; null clears it. Label, e.g. PO Number. Fields to expand in the returned customer response, such as subscriptions.plan, purchases.plan, balances.feature, or flags.feature. ### Response Your unique identifier for the customer. The name of the customer. The email address of the customer. Timestamp of customer creation in milliseconds since epoch. A unique identifier (eg. serial number) to de-duplicate customers across devices or browsers. For example: apple device ID. Stripe customer ID. The environment this customer was created in. The metadata for the customer. Whether to send email receipts to the customer. Billing controls for the customer (auto top-ups, etc.) Customer-level entity allocations of shared credits. Amounts are requested shares before proportional scaling. The feature whose shared customer credits are allocated. The reset interval of the shared credits being allocated. Complete list of entity allocations for this feature. Omitted entities release their shares. The public entity ID. Requested credits per cycle, before proportional scaling. 0 releases the allocation. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Expand billing\_controls.auto\_topups.purchase\_limit for a count of top ups and the next\_reset\_at. The time interval for the purchase limit window. Null when no purchase limit is configured. Number of intervals in the purchase limit window. Null when no purchase limit is configured. Maximum number of auto top-ups allowed within the interval. Null when no purchase limit is configured. Number of auto top-ups already consumed in the current window. Unix ms timestamp when the current purchase window ends and the count resets. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature, with current interval usage. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Active and scheduled recurring plans that this customer has attached. The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. One-time purchases made by the customer. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. License seat pools granted by the customer's plans, with seat counts. The plan offered as an assignable license. The plan that offers this license. Display name of the license plan. Total seats the customer has for this license, included plus paid. Seats currently assigned to entities. Seats still available to assign. Paid seats purchased on top of the plan's included amount. Feature balances keyed by feature ID, showing usage limits and remaining amounts. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. Boolean feature flags keyed by feature ID, showing enabled access for on/off features. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Configuration for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. Payment processors this customer is connected to (Stripe, Vercel, RevenueCat). Omitted entirely when the customer has not been created in any processor. Stripe processor connection for the customer. Stripe customer ID. Vercel processor connection for the customer (public-safe subset). Vercel marketplace installation ID for this customer. Vercel account ID associated with the installation. RevenueCat processor connection for the customer. Customer's external ID, used as the RevenueCat app user ID. Null if the customer has no external ID set. Invoices for this customer. Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page Upcoming invoice for each of this customer's Stripe subscriptions. Plan IDs contributing line items to this invoice. Unix timestamp (milliseconds) when this invoice will be created. The three-letter ISO currency code. All amounts are in the currency's major unit (e.g., dollars for USD). The total before discounts. The total after discounts. The line items this invoice will contain: usage accrued in the closing cycle, plus recurring charges for the opening cycle. The name of the line item to display to the customer if you're building a UI. It will either be the plan name or the feature name. A detailed description of the line item. The amount before discounts and tax for this line item. The final amount after discounts and tax for this line item. List of discounts applied to this line item. The ID of the plan that this line item belongs to. The ID of the feature that this line item belongs to. The period of time that this line item is being charged for. The start of the period in milliseconds since the Unix epoch. The end of the period in milliseconds since the Unix epoch. The quantity of the line item. Entities associated with this customer. The unique identifier of the entity The name of the entity The customer ID this entity belongs to The feature ID this entity belongs to Unix timestamp when the entity was created The environment (sandbox/live) Trial usage history for this customer. Rewards earned or applied for this customer. Array of active discounts applied to the customer The unique identifier for this discount The name of the discount or coupon The type of reward The discount value (percentage or fixed amount) How long the discount lasts Number of billing periods the discount applies for repeating durations The currency code for fixed amount discounts Timestamp when the discount becomes active Timestamp when the discount expires The Stripe subscription ID this discount is applied to Total amount saved from this discount Referral records for this customer. The customer's default payment method. Billing details read live from the linked Stripe customer. Null when no Stripe customer is linked. Two-letter country code (ISO 3166-1 alpha-2). Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Label, e.g. PO Number. ```json 200 theme={null} { "id": "2ee25a41-0d81-4ad2-8451-ec1aadaefe58", "name": "Patrick", "email": "patrick@useautumn.com", "createdAt": 1771409161016, "fingerprint": null, "stripeId": "cus_U0BKxpq1mFhuJO", "processors": { "stripe": { "id": "cus_U0BKxpq1mFhuJO" } }, "env": "sandbox", "metadata": {}, "sendEmailReceipts": false, "billingControls": { "autoTopups": [] }, "subscriptions": [ { "planId": "pro_plan", "autoEnable": true, "addOn": false, "status": "active", "pastDue": false, "canceledAt": null, "expiresAt": null, "trialEndsAt": null, "startedAt": 1771431921437, "currentPeriodStart": 1771431921437, "currentPeriodEnd": 1771999921437, "quantity": 1 } ], "purchases": [], "licenses": [], "balances": { "messages": { "featureId": "messages", "granted": 100, "remaining": 0, "usage": 100, "unlimited": false, "overageAllowed": false, "maxPurchase": null, "nextResetAt": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "planId": "pro_plan", "includedGrant": 100, "prepaidGrant": 0, "remaining": 0, "usage": 100, "unlimited": false, "reset": { "interval": "month", "resetsAt": 1773851121437 }, "price": null, "expiresAt": null } ] } }, "flags": { "advanced_workflows": { "id": "cus_ent_abc123", "plan_id": "pro_plan", "expires_at": null, "feature_id": "advanced_workflows" } }, "config": { "disable_pooled_balance": false, "disable_overage_billing": false } } ``` # List Customers Source: https://docs.useautumn.com/api-reference/customers/listCustomers openapi POST /v1/customers.list Lists customers with cursor pagination and optional filters. Pass `start_cursor: ""` (or omit) for the first page; use `next_cursor` from a prior response for subsequent pages. ### Body Parameters Opaque pagination cursor. Empty string (default) requests the first page; use next\_cursor from a prior response for subsequent pages. Number of items to return. Default 50, hard ceiling 5000. Filter by plan ID and version. Returns customers with active subscriptions to this plan. Filter by customer product status. Defaults to active and scheduled. Search customers by id, name, or email. Filter by customer processor type (stripe, revenuecat, vercel). Sort by customer creation time. Defaults to desc (newest first). Filter by customer creation time (epoch milliseconds, inclusive bounds). Include customers created at or after this timestamp (epoch milliseconds, inclusive) Include customers created at or before this timestamp (epoch milliseconds, inclusive) ### Response Items for current page. Your unique identifier for the customer. The name of the customer. The email address of the customer. Timestamp of customer creation in milliseconds since epoch. A unique identifier (eg. serial number) to de-duplicate customers across devices or browsers. For example: apple device ID. Stripe customer ID. The environment this customer was created in. The metadata for the customer. Whether to send email receipts to the customer. Billing controls for the customer (auto top-ups, etc.) Customer-level entity allocations of shared credits. Amounts are requested shares before proportional scaling. The feature whose shared customer credits are allocated. The reset interval of the shared credits being allocated. Complete list of entity allocations for this feature. Omitted entities release their shares. The public entity ID. Requested credits per cycle, before proportional scaling. 0 releases the allocation. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Expand billing\_controls.auto\_topups.purchase\_limit for a count of top ups and the next\_reset\_at. The time interval for the purchase limit window. Null when no purchase limit is configured. Number of intervals in the purchase limit window. Null when no purchase limit is configured. Maximum number of auto top-ups allowed within the interval. Null when no purchase limit is configured. Number of auto top-ups already consumed in the current window. Unix ms timestamp when the current purchase window ends and the count resets. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature, with current interval usage. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Active and scheduled recurring plans that this customer has attached. The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. One-time purchases made by the customer. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. License seat pools granted by the customer's plans, with seat counts. The plan offered as an assignable license. The plan that offers this license. Display name of the license plan. Total seats the customer has for this license, included plus paid. Seats currently assigned to entities. Seats still available to assign. Paid seats purchased on top of the plan's included amount. Feature balances keyed by feature ID, showing usage limits and remaining amounts. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. Boolean feature flags keyed by feature ID, showing enabled access for on/off features. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Configuration for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. Payment processors this customer is connected to (Stripe, Vercel, RevenueCat). Omitted entirely when the customer has not been created in any processor. Stripe processor connection for the customer. Stripe customer ID. Vercel processor connection for the customer (public-safe subset). Vercel marketplace installation ID for this customer. Vercel account ID associated with the installation. RevenueCat processor connection for the customer. Customer's external ID, used as the RevenueCat app user ID. Null if the customer has no external ID set. Opaque cursor for the next page. Null when there are no more results. ```json 200 theme={null} { "list": [ { "id": "2ee25a41-0d81-4ad2-8451-ec1aadaefe58", "name": "Patrick", "email": "patrick@useautumn.com", "createdAt": 1771409161016, "fingerprint": null, "stripeId": "cus_U0BKxpq1mFhuJO", "processors": { "stripe": { "id": "cus_U0BKxpq1mFhuJO" } }, "env": "sandbox", "metadata": {}, "sendEmailReceipts": false, "billingControls": { "autoTopups": [] }, "subscriptions": [ { "planId": "pro_plan", "autoEnable": true, "addOn": false, "status": "active", "pastDue": false, "canceledAt": null, "expiresAt": null, "trialEndsAt": null, "startedAt": 1771431921437, "currentPeriodStart": 1771431921437, "currentPeriodEnd": 1771999921437, "quantity": 1 } ], "purchases": [], "licenses": [], "balances": { "messages": { "featureId": "messages", "granted": 100, "remaining": 0, "usage": 100, "unlimited": false, "overageAllowed": false, "maxPurchase": null, "nextResetAt": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "planId": "pro_plan", "includedGrant": 100, "prepaidGrant": 0, "remaining": 0, "usage": 100, "unlimited": false, "reset": { "interval": "month", "resetsAt": 1773851121437 }, "price": null, "expiresAt": null } ] } }, "flags": { "advanced_workflows": { "id": "cus_ent_abc123", "plan_id": "pro_plan", "expires_at": null, "feature_id": "advanced_workflows" } }, "config": { "disable_pooled_balance": false, "disable_overage_billing": false } } ], "next_cursor": null } ``` # List Purchases Source: https://docs.useautumn.com/api-reference/customers/listPurchases openapi POST /v1/purchases.list Lists one-off plan purchases across customers, live or expired. Filter by customer, entity, plan, or status. Pages may hold fewer than `limit` rows while `has_more` is true. Lists one-off plan purchases. By default only live purchases are returned; pass `statuses: ["expired"]` to see purchases that have ended. A page can hold fewer than `limit` rows (even zero) while `has_more` is `true`. Keep paginating until `has_more` is `false`. ### Body Parameters Only return rows for this customer. Omit to list across every customer. Only return rows for this entity. Requires customer\_id. Number of items to return. Default 50, hard ceiling 200. Opaque pagination cursor. Empty string (default) requests the first page; use next\_cursor from a prior response for subsequent pages. Statuses to include. Defaults to active and scheduled. past\_due matches plans with overdue payments, which read as status active with past\_due true. Only return rows for this plan. ### Response Rows on this page. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. The unique identifier of this purchase. Falls back to the internal ID when none was provided. Current status of the purchase. The customer this row belongs to. The entity this row is scoped to, or null. Timestamp when this row was created. Whether more results exist. A page may hold fewer than `limit` items (even zero) while `has_more` is true, so paginate until `has_more` is false. Pass as start\_cursor to fetch the next page. Null when has\_more is false. ```json 200 theme={null} { "list": [ { "id": "cus_prod_123", "plan_id": "credit_pack", "status": "expired", "expires_at": null, "started_at": 1768817161016, "quantity": 1, "scope": "customer", "customer_id": "cus_123", "entity_id": null, "created_at": 1768817161016 } ], "has_more": false, "next_cursor": null } ``` # List Subscriptions Source: https://docs.useautumn.com/api-reference/customers/listSubscriptions openapi POST /v1/subscriptions.list Lists recurring plans (including add-ons) across customers, live or expired. Filter by customer, entity, plan, or status. Pages may hold fewer than `limit` rows while `has_more` is true. Lists recurring plans, including add-ons. By default only `active` and `scheduled` plans are returned; pass `statuses: ["expired"]` to see plans a customer no longer has. `past_due` is a filter, not a status. A past-due plan is returned with `status: "active"` and `past_due: true`. A page can hold fewer than `limit` rows (even zero) while `has_more` is `true`. Keep paginating until `has_more` is `false`. ### Body Parameters Only return rows for this customer. Omit to list across every customer. Only return rows for this entity. Requires customer\_id. Number of items to return. Default 50, hard ceiling 200. Opaque pagination cursor. Empty string (default) requests the first page; use next\_cursor from a prior response for subsequent pages. Statuses to include. Defaults to active and scheduled. past\_due matches plans with overdue payments, which read as status active with past\_due true. Only return rows for this plan. ### Response Rows on this page. The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. Current status of the subscription. The customer this row belongs to. The entity this row is scoped to, or null. Timestamp when this row was created. Whether more results exist. A page may hold fewer than `limit` items (even zero) while `has_more` is true, so paginate until `has_more` is false. Pass as start\_cursor to fetch the next page. Null when has\_more is false. ```json 200 theme={null} { "list": [ { "id": "sub_123", "plan_id": "pro", "auto_enable": false, "add_on": false, "status": "expired", "past_due": false, "canceled_at": 1771409161016, "expires_at": 1771409161016, "trial_ends_at": null, "started_at": 1768817161016, "current_period_start": null, "current_period_end": null, "quantity": 1, "scope": "customer", "customer_id": "cus_123", "entity_id": null, "created_at": 1768817161016 } ], "has_more": false, "next_cursor": null } ``` # Update Customer Source: https://docs.useautumn.com/api-reference/customers/updateCustomer openapi POST /v1/customers.update Updates an existing customer by ID. ### Balance allocations Set `billing_controls.balance_allocations` to reserve shared credits for entities. This customer-update-only control replaces the full configuration: include every feature and entity you want to keep, omit the field to leave it unchanged, or send `[]` to release all allocations. ```typescript TypeScript theme={null} await autumn.customers.update({ customerId: "customer_123", billingControls: { balanceAllocations: [{ featureId: "credits", interval: "month", allocations: [ { entityId: "workspace_a", amount: 300 }, { entityId: "workspace_b", amount: 200 }, ], }], }, }); ``` The response returns requested amounts under `billing_controls.balance_allocations`; read `balances` for effective amounts after proportional scaling. ### Body Parameters ID of the customer to update Customer's name Customer's email address Unique identifier (eg, serial number) to detect duplicate customers and prevent free trial abuse Additional metadata for the customer Stripe customer ID if you already have one Whether to send email receipts to this customer Currency to bill this customer in (e.g. usd, eur). Defaults to the organization's default currency. Replace all customer-level balance allocations. Omit to keep existing allocations; pass \[] to release all. Available only when updating an existing customer. The feature whose shared customer credits are allocated. The reset interval of the shared credits being allocated. Complete list of entity allocations for this feature. Omitted entities release their shares. The public entity ID. Requested credits per cycle, before proportional scaling. 0 releases the allocation. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature. An entry with only feature\_id and usage sets the current counter without changing configuration. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Miscellaneous configurations for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. Billing details stored on the linked Stripe customer. Requires a Stripe customer. Billing address, used for tax and shown on invoices. Replaces the whole address, as in Stripe; null clears it. Two-letter country code (ISO 3166-1 alpha-2). Tax IDs to add or remove (e.g. VAT). Stripe tax IDs cannot be edited, so change one by removing the old ID and adding the new one. IDs not listed are kept. Tax IDs to add. IDs the customer already has are ignored. Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Tax IDs to remove, matched by type and value. IDs the customer doesn't have are ignored. Stripe tax ID type, e.g. eu\_vat, gb\_vat, us\_ein. See [https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id) The tax ID, e.g. DE123456789. Tax exemption status. Use reverse for reverse-charge customers. Up to 4 custom fields shown on every invoice, e.g. a PO number. Replaces the existing list; null clears it. Label, e.g. PO Number. New ID for the customer ### Response Your unique identifier for the customer. The name of the customer. The email address of the customer. Timestamp of customer creation in milliseconds since epoch. A unique identifier (eg. serial number) to de-duplicate customers across devices or browsers. For example: apple device ID. Stripe customer ID. The environment this customer was created in. The metadata for the customer. Whether to send email receipts to the customer. Billing controls for the customer (auto top-ups, etc.) Customer-level entity allocations of shared credits. Amounts are requested shares before proportional scaling. The feature whose shared customer credits are allocated. The reset interval of the shared credits being allocated. Complete list of entity allocations for this feature. Omitted entities release their shares. The public entity ID. Requested credits per cycle, before proportional scaling. 0 releases the allocation. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Expand billing\_controls.auto\_topups.purchase\_limit for a count of top ups and the next\_reset\_at. The time interval for the purchase limit window. Null when no purchase limit is configured. Number of intervals in the purchase limit window. Null when no purchase limit is configured. Maximum number of auto top-ups allowed within the interval. Null when no purchase limit is configured. Number of auto top-ups already consumed in the current window. Unix ms timestamp when the current purchase window ends and the count resets. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature, with current interval usage. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Active and scheduled recurring plans that this customer has attached. The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. One-time purchases made by the customer. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. License seat pools granted by the customer's plans, with seat counts. The plan offered as an assignable license. The plan that offers this license. Display name of the license plan. Total seats the customer has for this license, included plus paid. Seats currently assigned to entities. Seats still available to assign. Paid seats purchased on top of the plan's included amount. Feature balances keyed by feature ID, showing usage limits and remaining amounts. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. Boolean feature flags keyed by feature ID, showing enabled access for on/off features. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Configuration for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. Payment processors this customer is connected to (Stripe, Vercel, RevenueCat). Omitted entirely when the customer has not been created in any processor. Stripe processor connection for the customer. Stripe customer ID. Vercel processor connection for the customer (public-safe subset). Vercel marketplace installation ID for this customer. Vercel account ID associated with the installation. RevenueCat processor connection for the customer. Customer's external ID, used as the RevenueCat app user ID. Null if the customer has no external ID set. ```json 200 theme={null} { "id": "2ee25a41-0d81-4ad2-8451-ec1aadaefe58", "name": "Patrick", "email": "patrick@useautumn.com", "createdAt": 1771409161016, "fingerprint": null, "stripeId": "cus_U0BKxpq1mFhuJO", "processors": { "stripe": { "id": "cus_U0BKxpq1mFhuJO" } }, "env": "sandbox", "metadata": {}, "sendEmailReceipts": false, "billingControls": { "autoTopups": [] }, "subscriptions": [ { "planId": "pro_plan", "autoEnable": true, "addOn": false, "status": "active", "pastDue": false, "canceledAt": null, "expiresAt": null, "trialEndsAt": null, "startedAt": 1771431921437, "currentPeriodStart": 1771431921437, "currentPeriodEnd": 1771999921437, "quantity": 1 } ], "purchases": [], "licenses": [], "balances": { "messages": { "featureId": "messages", "granted": 100, "remaining": 0, "usage": 100, "unlimited": false, "overageAllowed": false, "maxPurchase": null, "nextResetAt": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "planId": "pro_plan", "includedGrant": 100, "prepaidGrant": 0, "remaining": 0, "usage": 100, "unlimited": false, "reset": { "interval": "month", "resetsAt": 1773851121437 }, "price": null, "expiresAt": null } ] } }, "flags": { "advanced_workflows": { "id": "cus_ent_abc123", "plan_id": "pro_plan", "expires_at": null, "feature_id": "advanced_workflows" } }, "config": { "disable_pooled_balance": false, "disable_overage_billing": false } } ``` # Create Entity Source: https://docs.useautumn.com/api-reference/entities/createEntity openapi POST /v1/entities.create Creates an entity for a customer and feature, then returns the entity with balances and subscriptions. Use entities when usage and access must be scoped to sub-resources (for example seats, projects, or workspaces) instead of only the customer. ### Body Parameters The name of the entity The ID of the feature this entity is associated with Billing controls for the entity. List of spend limits per feature. Each entry caps overage (overage\_limit) and/or per-interval usage (usage\_limit). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature for this entity. An entity entry overrides the customer's for that feature. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Customer attributes used to resolve the customer when customer\_id is not provided. Customer's name Customer's email address Unique identifier (eg, serial number) to detect duplicate customers and prevent free trial abuse Additional metadata for the customer Stripe customer ID if you already have one Whether to create the customer in Stripe The ID of the free plan to auto-enable for the customer Whether to send email receipts to this customer Currency to bill this customer in (e.g. usd, eur). Defaults to the organization's default currency. Billing controls for the customer (auto top-ups, etc.) List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Miscellaneous configurations for the customer. Whether to disable the shared customer-level pool for entities. Stops Autumn from posting usage-overage line items to Stripe for this customer. Check/track and balance resets still behave normally. When set, this overrides the organization-level disable\_overage\_billing setting. The ID of the customer to create the entity for. The ID of the entity. ### Response The unique identifier of the entity The name of the entity The customer ID this entity belongs to The feature ID this entity belongs to Unix timestamp when the entity was created The environment (sandbox/live) The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Billing controls for the entity. List of spend limits per feature. Each entry caps overage (overage\_limit) and/or per-interval usage (usage\_limit). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature for this entity. An entity entry overrides the customer's for that feature. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Invoices for this entity (only included when expand=invoices) Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page ```json 200 theme={null} { "id": "seat_42", "name": "Seat 42", "customer_id": "cus_123", "feature_id": "seats", "created_at": 1771409161016, "env": "sandbox", "subscriptions": [ { "plan_id": "pro_plan", "auto_enable": true, "add_on": false, "status": "active", "past_due": false, "canceled_at": null, "expires_at": null, "trial_ends_at": null, "started_at": 1771431921437, "current_period_start": 1771431921437, "current_period_end": 1771999921437, "quantity": 1 } ], "purchases": [], "balances": { "messages": { "feature_id": "messages", "granted": 100, "remaining": 72, "usage": 28, "unlimited": false, "overage_allowed": false, "max_purchase": null, "next_reset_at": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "plan_id": "pro_plan", "included_grant": 100, "prepaid_grant": 0, "remaining": 72, "usage": 28, "unlimited": false, "reset": { "interval": "month", "resets_at": 1773851121437 }, "price": null, "expires_at": null } ] } }, "invoices": [] } ``` # Delete Entity Source: https://docs.useautumn.com/api-reference/entities/deleteEntity openapi POST /v1/entities.delete Deletes an entity by entity ID. Use this when the underlying resource is removed and you no longer want entity-scoped balances or subscriptions tracked for it. ### Body Parameters The ID of the customer. The ID of the entity. ### Response ```json 200 theme={null} { "success": true } ``` # Get Entity Source: https://docs.useautumn.com/api-reference/entities/getEntity openapi POST /v1/entities.get Fetches an entity by its ID. Use this to read one entity's current state. Pass customerId when you want to scope the lookup to a specific customer. ### Body Parameters The ID of the customer to create the entity for. The ID of the entity. ### Response The unique identifier of the entity The name of the entity The customer ID this entity belongs to The feature ID this entity belongs to Unix timestamp when the entity was created The environment (sandbox/live) The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Billing controls for the entity. List of spend limits per feature. Each entry caps overage (overage\_limit) and/or per-interval usage (usage\_limit). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature for this entity. An entity entry overrides the customer's for that feature. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Invoices for this entity (only included when expand=invoices) Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page ```json 200 theme={null} { "id": "seat_42", "name": "Seat 42", "customer_id": "cus_123", "feature_id": "seats", "created_at": 1771409161016, "env": "sandbox", "subscriptions": [ { "plan_id": "pro_plan", "auto_enable": true, "add_on": false, "status": "active", "past_due": false, "canceled_at": null, "expires_at": null, "trial_ends_at": null, "started_at": 1771431921437, "current_period_start": 1771431921437, "current_period_end": 1771999921437, "quantity": 1 } ], "purchases": [], "balances": { "messages": { "feature_id": "messages", "granted": 100, "remaining": 72, "usage": 28, "unlimited": false, "overage_allowed": false, "max_purchase": null, "next_reset_at": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "plan_id": "pro_plan", "included_grant": 100, "prepaid_grant": 0, "remaining": 72, "usage": 28, "unlimited": false, "reset": { "interval": "month", "resets_at": 1773851121437 }, "price": null, "expires_at": null } ] } }, "invoices": [] } ``` # List Entities Source: https://docs.useautumn.com/api-reference/entities/listEntities openapi POST /v1/entities.list Lists entities across the organization with pagination and optional filters. Use this to page through entities globally, including filtering by plans inherited from parent customers or attached directly to entities. ### Body Parameters Opaque pagination cursor. Empty string (default) requests the first page; use next\_cursor from a prior response for subsequent pages. Number of items to return. Default 50, hard ceiling 5000. Filter by plan ID and version. Returns entities with active subscriptions to this plan, including plans inherited from the parent customer. Filter customer products used for entity hydration and plan matching. Defaults to active and scheduled. Search entities by id or name. Filter by parent customer processor type (stripe, revenuecat, vercel). Restrict the response to entities owned by this customer id. Use to bulk-fetch all entities for one customer in a single paginated call instead of iterating entities.get. ### Response Items for current page. The unique identifier of the entity The name of the entity The customer ID this entity belongs to The feature ID this entity belongs to Unix timestamp when the entity was created The environment (sandbox/live) The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Billing controls for the entity. List of spend limits per feature. Each entry caps overage (overage\_limit) and/or per-interval usage (usage\_limit). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature for this entity. An entity entry overrides the customer's for that feature. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Invoices for this entity (only included when expand=invoices) Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page Opaque cursor for the next page. Null when there are no more results. ```json 200 theme={null} { "list": [ { "id": "seat_42", "name": "Seat 42", "customer_id": "cus_123", "feature_id": "seats", "created_at": 1771409161016, "env": "sandbox", "subscriptions": [ { "plan_id": "pro_plan", "auto_enable": true, "add_on": false, "status": "active", "past_due": false, "canceled_at": null, "expires_at": null, "trial_ends_at": null, "started_at": 1771431921437, "current_period_start": 1771431921437, "current_period_end": 1771999921437, "quantity": 1 } ], "purchases": [], "balances": { "messages": { "feature_id": "messages", "granted": 100, "remaining": 72, "usage": 28, "unlimited": false, "overage_allowed": false, "max_purchase": null, "next_reset_at": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "plan_id": "pro_plan", "included_grant": 100, "prepaid_grant": 0, "remaining": 72, "usage": 28, "unlimited": false, "reset": { "interval": "month", "resets_at": 1773851121437 }, "price": null, "expires_at": null } ] } }, "invoices": [] } ], "next_cursor": null } ``` # Update Entity Source: https://docs.useautumn.com/api-reference/entities/updateEntity openapi POST /v1/entities.update Updates an existing entity and returns the refreshed entity object. Use this to change entity billing controls or other mutable entity fields after the entity has already been created. ### Body Parameters The ID of the customer that owns the entity. The ID of the entity. Billing controls to replace on the entity. List of spend limits per feature. Each entry caps overage (overage\_limit) and/or per-interval usage (usage\_limit). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature. An entry with only feature\_id and usage sets the current counter without changing configuration. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. ### Response The unique identifier of the entity The name of the entity The customer ID this entity belongs to The feature ID this entity belongs to Unix timestamp when the entity was created The environment (sandbox/live) The unique identifier of this subscription. If a subscription\_id was provided at attach time, it is used; otherwise, falls back to the internal ID. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the subscribed plan. Whether the plan was automatically enabled for the customer. Whether this is an add-on plan rather than a base subscription. Current status of the subscription. Whether the subscription has overdue payments. Timestamp when the subscription was canceled, or null if not canceled. Timestamp when the subscription will expire, or null if no expiry set. Timestamp when the trial period ends, or null if not on trial. Timestamp when the subscription started. Start timestamp of the current billing period. End timestamp of the current billing period. Number of units of this subscription (for per-seat plans). Whether this subscription is attached at the customer level or entity level. The full plan object if expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The unique identifier of the purchased plan. Timestamp when the purchase expires, or null for lifetime access. Timestamp when the purchase was made. Number of units purchased. Whether this purchase is attached at the customer level or entity level. The feature ID this balance is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Total balance granted (included + prepaid). Remaining balance available for use. Total usage consumed in the current period. Whether this feature has unlimited usage. Whether usage beyond the granted balance is allowed (with overage charges). Maximum quantity that can be purchased as a top-up, or null for unlimited. Timestamp when the balance will reset, or null for no reset. Detailed breakdown of balance sources when stacking multiple plans or grants. The unique identifier for this balance breakdown. The plan ID this balance originates from, or null for standalone balances. Amount granted from the plan's included usage. Amount granted from prepaid purchases or top-ups. Remaining balance available for use. Amount consumed in the current period. Whether this balance has unlimited usage. Reset configuration for this balance, or null if no reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Pricing configuration if this balance has usage-based pricing. The per-unit price amount. Tiered pricing configuration if applicable. How tiers are applied: graduated (split across bands) or volume (flat rate for the matched tier). The number of units per billing increment (eg. \$9 / 250 units). Whether usage is prepaid or billed pay-per-use. Maximum quantity that can be purchased, or null for unlimited. Timestamp when this balance expires, or null for no expiration. Where this row's credits come from: shared at the customer level, or owned by the entity. Set when this row's numbers are the entity's allocated share of the customer's credits. The amount allocated to this entity. Rollover balances carried over from previous periods. Amount originally rolled over from a previous period, before any of it was consumed. Amount of balance rolled over from a previous period. Timestamp when the rollover balance expires. Shared credits held for entities by allocations; present only when the customer allocates this feature. Remaining shared credits no allocation holds; any entity may use them. The unique identifier for this flag. The plan ID this flag originates from, or null for standalone flags. Timestamp when this flag expires, or null for no expiration. The feature ID this flag is for. The full feature object if expanded. The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. Billing controls for the entity. List of spend limits per feature. Each entry caps overage (overage\_limit) and/or per-interval usage (usage\_limit). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of hard usage caps per feature for this entity. An entity entry overrides the customer's for that feature. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. Usage consumed in the active interval, stored in the usage-window counter. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Response-only: whether the entry is a customer-level override or inherited from an attached plan's defaults. Invoices for this entity (only included when expand=invoices) Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page ```json 200 theme={null} { "id": "seat_42", "name": "Seat 42", "customer_id": "cus_123", "feature_id": "seats", "created_at": 1771409161016, "env": "sandbox", "subscriptions": [ { "plan_id": "pro_plan", "auto_enable": true, "add_on": false, "status": "active", "past_due": false, "canceled_at": null, "expires_at": null, "trial_ends_at": null, "started_at": 1771431921437, "current_period_start": 1771431921437, "current_period_end": 1771999921437, "quantity": 1 } ], "purchases": [], "balances": { "messages": { "feature_id": "messages", "granted": 100, "remaining": 72, "usage": 28, "unlimited": false, "overage_allowed": false, "max_purchase": null, "next_reset_at": 1773851121437, "breakdown": [ { "id": "cus_ent_39qmLooixXLAqMywgXywjAz96rV", "plan_id": "pro_plan", "included_grant": 100, "prepaid_grant": 0, "remaining": 72, "usage": 28, "unlimited": false, "reset": { "interval": "month", "resets_at": 1773851121437 }, "price": null, "expires_at": null } ] } }, "invoices": [] } ``` # Aggregate Events Source: https://docs.useautumn.com/api-reference/events/aggregateEvents openapi POST /v1/events.aggregate Aggregate usage events by time period. Returns usage totals grouped by feature and optionally by a custom property. Aggregate usage events by time period. Returns usage totals grouped by feature and optionally by a custom property. ## Working with Properties When tracking events, you can attach custom properties that can later be used for grouping aggregations: ```typescript theme={null} // Track an event with properties await autumn.track({ customerId: "cus_123", featureId: "api_calls", value: 1, properties: { model: "gpt-4", source: "api", region: "us-east" } }); ``` You can then aggregate events grouped by any property using the `group_by` parameter: ```typescript theme={null} const result = await autumn.events.aggregate({ customerId: "cus_123", featureId: "api_calls", range: "7d", groupBy: "properties.model" // Group by the "model" property }); ``` ### Special Group By Operators In addition to custom properties, you can group by built-in columns using `$`-prefixed operators: * `$customer_id` -- Group results by customer ID. Useful when aggregating across all customers (i.e. no `customer_id` specified). * `$entity_id` -- Group results by entity ID. Useful for seeing usage broken down per entity. ```typescript theme={null} // Aggregate across all customers, grouped by customer const result = await autumn.events.aggregate({ featureId: "api_calls", range: "7d", groupBy: "$customer_id" }); // Aggregate for a customer, grouped by entity const result = await autumn.events.aggregate({ customerId: "cus_123", featureId: "api_calls", range: "7d", groupBy: "$entity_id" }); ``` ## Response Format The response structure changes based on whether `group_by` is provided: ### Without `group_by` (Flat Response) When no grouping is specified, `values` contains the aggregated sum for each feature: ```json theme={null} { "list": [ { "period": 1762905600000, "values": { "api_calls": 150, "messages": 45 } } ], "total": { "api_calls": { "count": 10, "sum": 150 }, "messages": { "count": 5, "sum": 45 } } } ``` ### With `group_by` (Grouped Response) When grouping is specified, `values` contains the total sum while `grouped_values` breaks down values by group: ```json theme={null} { "list": [ { "period": 1762905600000, "values": { "api_calls": 150 }, "grouped_values": { "api_calls": { "gpt-4": 100, "gpt-3.5": 50 } } } ], "total": { "api_calls": { "count": 10, "sum": 150 } } } ``` The `grouped_values` field is only present when `group_by` is provided in the request. ## Deduction Breakdowns By default, aggregations answer *"how much usage was tracked?"*. Passing `aggregate_on: "deducted"` additionally answers *"which balances did that usage actually come out of?"* — the response gains a `deductions` array, keyed by the **balance-owning feature** rather than the tracked event. The `list` and `total` fields are unchanged. A `customer_id` is required in this mode, since deductions are resolved against a specific customer's balances. There are two situations where this matters: ### Case 1: Usage spilling into a credit system A feature can have its own included allowance *and* feed a credit system — usage drains the allowance first, then overflows into credits at the feature's credit cost. The standard aggregation only shows tracked totals, so the overflow is invisible. With `aggregate_on: "deducted"`, the two sides show up separately: ```typescript theme={null} const result = await autumn.events.aggregate({ customerId: "cus_123", featureId: "observability_events", range: "30d", aggregateOn: "deducted" }); ``` ```json theme={null} { "deductions": [ { "period": 1762905600000, "values": { "observability_events": { "feature_type": "metered", "deducted": 1000000, "events": 12, "balances": [ { "balance_id": "cus_ent_abc", "entity_id": null, "plan_id": "team", "reset": { "interval": "month", "resets_at": 1789218895573 }, "credit_cost": null, "deducted": 1000000, "events": 12 } ] }, "usage_credits": { "feature_type": "credit_system", "deducted": 0.8, "events": 1, "balances": [ { "balance_id": "cus_ent_def", "entity_id": null, "plan_id": "team", "reset": { "interval": "month", "resets_at": 1789218895573 }, "credit_cost": 0.00008, "deducted": 0.8, "events": 1 } ] } } } ] } ``` Reading this: the customer's 1M-event allowance absorbed the tracked usage, and 10,000 events overflowed into the `usage_credits` pool, burning 0.8 credits at the feature's credit cost of 0.00008. Each entry is in **that balance's own unit** — events for the metered feature, credits for the credit system. `credit_cost` is only populated when the request pins a single non-credit feature via `feature_id`, since several features feeding one pool each convert at a different rate. It reflects the credit system's current schema. ### Case 2: Per-entity balances falling through to a shared pool When entities (e.g. seats) each carry their own balance and overflow lands on a customer-level shared balance, group by `$entity_id` to see who spent from where: ```typescript theme={null} const result = await autumn.events.aggregate({ customerId: "cus_123", featureId: "ai_credits", range: "30d", aggregateOn: "deducted", groupBy: "$entity_id" }); ``` ```json theme={null} { "deductions": [ { "period": 1762905600000, "values": { "ai_credits": { "feature_type": "credit_system", "deducted": 1650, "events": 5, "balances": [ { "balance_id": "cus_ent_seat_3", "entity_id": "seat_3", "plan_id": "team_seat", "deducted": 600, "events": 2, ... }, { "balance_id": "cus_ent_seat_4", "entity_id": "seat_4", "plan_id": "team_seat", "deducted": 600, "events": 1, ... }, { "balance_id": "cus_ent_shared", "entity_id": null, "plan_id": "team_yearly", "deducted": 50, "events": 3, ... } ] } }, "grouped_values": { "cus_ent_seat_3": { "seat_3": { "deducted": 600 } }, "cus_ent_seat_4": { "seat_4": { "deducted": 600 } }, "cus_ent_shared": { "seat_3": { "deducted": 25 }, "seat_4": { "deducted": 25 } } } } ] } ``` **Finding each entity's spillover** takes one join between the two halves of the response: 1. In `balances`, find the entry whose `entity_id` is `null`. That's the customer-level shared balance — the pool that entities fall through to when their own balance runs out. (Entries with an `entity_id` are balances owned by that entity.) 2. Take that entry's `balance_id` and look it up in `grouped_values`. The keys of that object are the entities that spent from the shared pool, and each `deducted` is exactly how much they overdrew. Here `cus_ent_shared` is the shared balance, and `grouped_values["cus_ent_shared"]` shows seats 3 and 4 each pulled 25 credits from it beyond their own 600-credit seat balances — the "used 25 extra credits" number to show next to each seat. The seat-owned balances appear in `grouped_values` too, but for them the owner and the spender are the same entity, so the split just restates the balance total. `group_by: "$plan_id"` is rejected with `aggregate_on` — every balance belongs to exactly one plan, so `balances[].plan_id` already carries the plan split. ### Body Parameters Customer ID to aggregate events for Entity ID to filter aggregated events for (e.g., per-seat or per-resource limits) Feature ID(s) to aggregate events for Property to group events by (e.g. "properties.region"), or "$customer_id" / "$entity\_id" / "$plan_id" to group by those columns. When aggregate_on is "deducted", "$feature\_id" groups deductions by the tracked feature that consumed each balance. Time range to aggregate events for. Either range or custom\_range must be provided Size of the time bins to aggregate events for. Defaults to hour if range is 24h, otherwise day Custom time range to aggregate events for. If provided, range must not be provided IANA timezone (e.g. "America/New\_York") that day, week and month bins are aligned to. Hour bins are always UTC. Defaults to UTC Filter events by property values, e.g. \{"model": "gpt-4", "region": "us"}. Maximum 5 filters. Maximum number of distinct group values to return per time bin when using group\_by. Remaining values are bundled into an 'Other' bucket. Defaults to 9 Set to "deducted" to additionally return a per-balance breakdown of what each event consumed, under `deductions`. Purely additive: `list` and `total` are unchanged. Requires customer\_id. ### Response Array of time periods with aggregated values Unix timestamp (epoch ms) for this time period Aggregated values per feature: \{ \[featureId]: number } Values broken down by group (only present when group\_by is used): \{ \[featureId]: \{ \[groupValue]: number } } Total aggregations per feature. Keys are feature IDs, values contain count and sum. Number of events for this feature Sum of event values for this feature Per-balance breakdown of what was consumed. Present only when aggregate\_on is "deducted". Unix timestamp (epoch ms), same basis as `list`. Keyed by the feature that OWNS the balance drawn from, not the feature that was tracked. credit\_system means `deducted` is credits; metered means it is that feature's own amount. ID of the balance row drawn from (customer\_entitlement or rollover). Entity that owns this balance, or null when it is customer-level and shared. Plan the balance came with. Null for balances created outside a plan. Reset config for this balance, captured at deduction time. Multiplier applied converting the tracked feature into this balance. Null when 1:1, or when the query spans sources converting at different rates. Present only when group\_by is used. Keyed by balance\_id, then by group value — the only way to attribute a shared balance to the entity that spent from it. ```json 200 theme={null} { "list": [ { "period": 1762905600000, "values": { "messages": 10, "sessions": 3 } }, { "period": 1762992000000, "values": { "messages": 3, "sessions": 12 } } ], "total": { "messages": { "count": 2, "sum": 13 }, "sessions": { "count": 2, "sum": 15 } } } ``` # List Events Source: https://docs.useautumn.com/api-reference/events/listEvents openapi POST /v1/events.list List usage events for your organization. Filter by customer, feature, or time range. ### Body Parameters Opaque pagination cursor. Empty string (default) requests the first page; use next\_cursor from a prior response for subsequent pages. Number of items to return. Default 50, hard ceiling 5000. Filter events by customer ID Filter events by entity ID (e.g., per-seat or per-resource) Filter by specific feature ID(s) Filter events by time range Filter events after this timestamp (epoch milliseconds) Filter events before this timestamp (epoch milliseconds) Preset time range to filter events by, resolved the same way as in events.aggregate. Cannot be combined with custom\_range ### Response Items for current page. Event ID (KSUID) Event timestamp (epoch milliseconds) ID of the feature that the event belongs to Customer identifier Event value/count Event properties (JSON) Per-balance breakdown of what this event deducted. Null for events ingested before deductions were tracked; an empty array means the event was accepted but no balance moved. ID of the underlying balance row that was deducted from (customer\_entitlement or rollover). The feature this balance belongs to. ID of the plan/product this balance belongs to. Null when the balance can't be attributed to a single plan (e.g. it spans multiple). Reset configuration for the balance this deduction came from, or null if the balance doesn't reset. The reset interval (hour, day, week, month, etc.) or 'multiple' if combined from different intervals. Number of intervals between resets (eg. 2 for bi-monthly). Timestamp when the balance will next reset. Amount deducted from this balance. Positive when usage was consumed, negative when credit was restored (e.g. a refund via negative track value). Opaque cursor for the next page. Null when there are no more results. ```json 200 theme={null} { "list": [ { "id": "evt_36xpk2TmuQX5zVPPQ8tCtnR5Weg", "timestamp": 1765958215459, "feature_id": "credits", "customer_id": "0pCIbS4AMAFDB1iBMNhARWZt2gDtVwQx", "value": 30, "properties": {}, "deductions": [ { "balance_id": "cus_ent_3DdSDtFBlvDbjyUuJeUIbQlyN12", "feature_id": "credits", "plan_id": "pro", "reset": { "interval": "month", "resets_at": 1765958215459 }, "value": 30 } ] }, { "id": "evt_36xmHxxjAkqxufDf9yHAPNfRrLM", "timestamp": 1765956512057, "feature_id": "credits", "customer_id": "0pCIbS4AMAFDB1iBMNhARWZt2gDtVwQx", "value": 49, "properties": {}, "deductions": null } ], "next_cursor": "eyJ2IjowLCJpZCI6ImV2dF8zNnhtSHh4akFrcXh1ZkRmOXlIQVBOZlJyTE0iLCJ0IjoxNzY1OTU2NTEyMDU3fQ" } ``` # Create Feature Source: https://docs.useautumn.com/api-reference/features/createFeature openapi POST /v1/features.create Creates a new feature. Use this to programmatically create features for metering usage, managing access, or building credit systems. ### Body Parameters The name of the feature. The type of the feature. 'single\_use' features are consumed, like API calls, tokens, or messages. 'continuous\_use' features are allocated, like seats, workspaces, or projects. 'credit\_system' features are schemas that unify multiple 'single\_use' features into a single credit system. Whether this feature is consumable. A consumable feature is one that periodically resets and is consumed rather than allocated (like credits, API requests, etc.). Applicable only for 'metered' features. Singular and plural display names for the feature in your user interface. A schema that maps metered feature IDs to flat or graduated credit costs. For classic credit systems only — AI credit systems use model\_markups instead. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Maps model IDs to their markup configuration. Default percentage markup for this AI credit system. Used when no model or provider markup applies. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Provider keys match the first segment of model\_id. The ID of the feature to create. ### Response The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. ```json 200 theme={null} { "id": "api-calls", "name": "API Calls", "type": "metered", "consumable": true, "archived": false, "display": { "singular": "API call", "plural": "API calls" } } ``` # Delete Feature Source: https://docs.useautumn.com/api-reference/features/deleteFeature openapi POST /v1/features.delete Deletes a feature by its ID. Use this to permanently remove a feature. Note: features that are used in products cannot be deleted - archive them instead. ### Body Parameters The ID of the feature to delete. ### Response ```json 200 theme={null} { "success": true } ``` # Get Feature Source: https://docs.useautumn.com/api-reference/features/getFeature openapi POST /v1/features.get Retrieves a single feature by its ID. Use this when you need to fetch the details of a specific feature. ### Body Parameters The ID of the feature. ### Response The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. ```json 200 theme={null} { "id": "api-calls", "name": "API Calls", "type": "metered", "consumable": true, "archived": false, "display": { "singular": "API call", "plural": "API calls" } } ``` # List Features Source: https://docs.useautumn.com/api-reference/features/listFeatures openapi POST /v1/features.list Lists all features in the current environment. Use this to retrieve all features configured for your organization to display in dashboards or for feature management. ### Response The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. ```json 200 theme={null} { "list": [ { "id": "api-calls", "name": "API Calls", "type": "metered", "consumable": true, "archived": false, "display": { "singular": "API call", "plural": "API calls" } }, { "id": "credits", "name": "Credits", "type": "credit_system", "consumable": true, "archived": false, "credit_schema": [ { "metered_feature_id": "api-calls", "credit_cost": 1 }, { "metered_feature_id": "image-generations", "credit_cost": 10 } ], "display": { "singular": "credit", "plural": "credits" } } ] } ``` # Update Feature Source: https://docs.useautumn.com/api-reference/features/updateFeature openapi POST /v1/features.update Updates an existing feature. Use this to modify feature properties like name, display settings, or to archive a feature. ### Body Parameters The name of the feature. The type of the feature. 'single\_use' features are consumed, like API calls, tokens, or messages. 'continuous\_use' features are allocated, like seats, workspaces, or projects. 'credit\_system' features are schemas that unify multiple 'single\_use' features into a single credit system. Whether this feature is consumable. A consumable feature is one that periodically resets and is consumed rather than allocated (like credits, API requests, etc.). Applicable only for 'metered' features. Singular and plural display names for the feature in your user interface. A schema that maps metered feature IDs to flat or graduated credit costs. For classic credit systems only — AI credit systems use model\_markups instead. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Maps model IDs to their markup configuration. Default percentage markup for this AI credit system. Used when no model or provider markup applies. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Provider keys match the first segment of model\_id. Whether the feature is archived. Archived features are hidden from the dashboard. The ID of the feature to update. The new ID of the feature. Feature ID can only be updated if it's not being used by any customers. ### Response The unique identifier for this feature, used in /check and /track calls. Human-readable name displayed in the dashboard and billing UI. Feature type: 'boolean' for on/off access, 'metered' for usage-tracked features, 'credit\_system' for unified credit pools, 'ai\_credit\_system' for model-based token pricing. For metered features: true if usage resets periodically (API calls, credits), false if allocated persistently (seats, storage). Event names that trigger this feature's balance. Allows multiple features to respond to a single event. For classic credit systems: maps metered features to flat or graduated credit costs. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Per-model markup overrides for AI credit systems. Default percentage markup for AI credit systems. Use -100 to make usage free. Per-provider default markup percentages for AI credit systems. Display names for the feature in billing UI and customer-facing components. Singular form for UI display (e.g., 'API call', 'seat'). Plural form for UI display (e.g., 'API calls', 'seats'). Whether the feature is archived and hidden from the dashboard. Processor mappings for this feature. Present when a Stripe product or meter is set. Stripe product ID this feature's usage prices bill under. Stripe meter ID used to create this feature's metered price. ```json 200 theme={null} { "id": "api-calls", "name": "API Calls", "type": "metered", "consumable": true, "archived": false, "display": { "singular": "API call", "plural": "API calls" } } ``` # Create Invoice Source: https://docs.useautumn.com/api-reference/invoices/createInvoice openapi POST /v1/invoices.create Creates a standalone send-invoice Stripe invoice from catalog pricing and custom charges. Quantities are billable units, exclusive of any included usage; Autumn applies billing units and tiers. Nothing about the customer's plans, balances or subscriptions changes. Pass preview: true to get the calculated lines and totals without creating an invoice. ### Body Parameters The customer to invoice. The entity every plan is billed to unless the plan sets its own entity\_id. The invoice is tagged with it when every plan line resolves to this entity. The catalog plan (or variant) whose pricing to use. Plan version. Defaults to the active version. The entity this plan's lines are billed to. Omit to inherit the request's entity\_id, or pass null for customer-level. Pricing overrides applied to this invoice only. The catalog and the customer's plan are not changed. Override the plan's base price for this invoice. Pass null or an amount of 0 to omit the base price line. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Bill this line under an existing Stripe price instead of an inline one. Stripe price ID. For prepaid with included > 0 this is the V2 price. Override feature pricing for this invoice. Only pricing fields are accepted; grants, resets and rollovers are not part of an invoice. The feature whose pricing is overridden on this invoice. Pricing to use for this feature on this invoice. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Bill this line under an existing Stripe price instead of an inline one. Stripe price ID. For prepaid with included > 0 this is the V2 price. For credit-system features: a credit rate card to use when converting `usage` on this invoice. For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. The feature to bill. Which of the feature's prices to use: 'prepaid' or 'usage\_based'. Billable feature units in total, exclusive of any included usage. Not per seat or per entity. For a credit-system feature this is the number of credits. For credit-system features: billable units of the source features, converted through the credit rate card. Mutually exclusive with quantity. The metered feature whose units are being converted. Billable units of the metered feature. Converted to the credit-system feature through its rate card. Event properties used to pick the rate card dimension and multipliers. Whether to prorate this line against its period. Defaults to true for prepaid and false for usage-based. Start of the period this line covers, in milliseconds. Defaults to the parent's period, then the invoice's period\_start / period\_end when sent. End of the period this line covers, in milliseconds. Given together with period\_start. The license plan linked to the parent plan. Billable seats, exclusive of any included seats. Pricing overrides for this license on this invoice only. The catalog and the customer's plan are not changed. Override the license's per-seat price on this invoice. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Bill this line under an existing Stripe price instead of an inline one. Stripe price ID. For prepaid with included > 0 this is the V2 price. Override the license plan's feature pricing for this license's feature\_quantities on this invoice. The parent plan's customize.items never apply to license features. The feature whose pricing is overridden on this invoice. Pricing to use for this feature on this invoice. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Bill this line under an existing Stripe price instead of an inline one. Stripe price ID. For prepaid with included > 0 this is the V2 price. For credit-system features: a credit rate card to use when converting `usage` on this invoice. For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Feature charges priced through the license plan. The feature to bill. Which of the feature's prices to use: 'prepaid' or 'usage\_based'. Billable feature units in total, exclusive of any included usage. Not per seat or per entity. For a credit-system feature this is the number of credits. For credit-system features: billable units of the source features, converted through the credit rate card. Mutually exclusive with quantity. The metered feature whose units are being converted. Billable units of the metered feature. Converted to the credit-system feature through its rate card. Event properties used to pick the rate card dimension and multipliers. Whether to prorate this line against its period. Defaults to true for prepaid and false for usage-based. Start of the period this line covers, in milliseconds. Defaults to the parent's period, then the invoice's period\_start / period\_end when sent. End of the period this line covers, in milliseconds. Given together with period\_start. Whether to prorate seat charges against the license's period. Defaults to true. Start of the period this line covers, in milliseconds. Defaults to the parent's period, then the invoice's period\_start / period\_end when sent. End of the period this line covers, in milliseconds. Given together with period\_start. Discounts applied only to this plan's lines. The ID of the reward to apply as a discount. The promotion code to apply as a discount. Whether to prorate the base price against the plan's period. Defaults to true. Start of the period this line covers, in milliseconds. Defaults to the parent's period, then the invoice's period\_start / period\_end when sent. End of the period this line covers, in milliseconds. Given together with period\_start. Charges that are not tied to any plan or feature. Amount in dollars for this line item (e.g. 10.50). Can be negative for credits. Description for the line item. Start of the period this charge covers, in milliseconds. Printed on the line only; a custom line never inherits the invoice's period. End of the period this charge covers, in milliseconds. Given together with period\_start. Discounts applied to the whole invoice. The ID of the reward to apply as a discount. The promotion code to apply as a discount. ID of an invoice template whose footer, memo and default payment terms are applied. Days until the invoice is due. Defaults to the template's terms, then the org default. Cannot be combined with due\_date. Date of issue printed on the invoice, in milliseconds. Defaults to now; cannot be in the future. When payment is due, in milliseconds. Must be in the future. Cannot be combined with net\_terms\_days. Stripe tax rate ID (txr\_...) applied to every line. Start of the period being invoiced, in milliseconds. Plan, feature and license lines without their own period use this one, and every line period must fall inside it. If omitted, lines without their own period carry none and are not prorated. End of the period being invoiced, in milliseconds. Given together with period\_start. If true, returns the calculated lines and totals without creating an invoice. draft leaves the invoice editable. finalize opens it without Stripe emailing, reminding or charging (auto\_advance off). send opens it with auto\_advance on. Defaults to send. ### Response The created invoice. Null when preview is true. Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page The Autumn invoice ID The ID of the customer this invoice belongs to. Null for customers created without an ID. The ID of the entity this invoice belongs to, if entity-scoped The amount paid on the invoice. Null on invoices recorded before amounts paid were tracked. The total amount refunded on the invoice Line items on the invoice, one per line as shown in Stripe. Capped at 100. Empty for invoices recorded before line item storage. The Autumn invoice line item ID. Stable across reads, and can be used to reference this line in later calls. Description of the invoice line item Timestamp when the billing period starts Timestamp when the billing period ends The plan this line item came from. Null for lines with no Autumn plan behind them. The ID of the feature associated with this line item The name of the feature associated with this line item Quantity actually charged on this line. Null on fixed-price lines. Amount charged on this line, pre-discount and pre-tax. Negative for credits. How this line splits by entity. Empty for customer-level lines. Only populated for invoices finalized after entity attribution shipped. The entity this share of the line item is attributed to Quantity charged to this entity. Null on fixed-price lines. Amount attributed to this entity, pre-discount and pre-tax The entity this line is billed to. Null for customer-level lines. The customer's Stripe credit balance and how much of it this invoice consumes. Stripe customer credit balance available, expressed as a positive number in major currency units. How much of that balance this invoice consumes, capped at its total. The rest stays on the customer. Three-letter currency code. What the customer pays: the total less any credit applied. ```json 200 theme={null} { "invoice": { "id": "inv_2b3c4d5e6f7g8h", "customer_id": "cus_123", "entity_id": null, "plan_ids": [ "pro_plan" ], "stripe_id": "in_1A2B3C4D5E6F7G8H", "processor_type": "stripe", "status": "open", "total": 29.99, "amount_paid": 29.99, "refunded_amount": 0, "currency": "usd", "created_at": 1759247877000, "hosted_invoice_url": "https://invoice.stripe.com/i/acct_123/test_456", "items": [ { "id": "invoice_li_2b3c4d5e6f7g8h", "description": "Pro plan", "plan_id": "pro_plan", "feature_id": null, "feature_name": null, "quantity": null, "amount": 20, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [] }, { "id": "invoice_li_3c4d5e6f7g8h9i", "description": "AI credits", "plan_id": "pro_plan", "feature_id": "ai_credits", "feature_name": "AI Credits", "quantity": 4995, "amount": 9.99, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [ { "entity_id": "acme-docs-prod", "quantity": 4995, "amount": 9.99 } ] } ] }, "preview": { "currency": "usd", "lines": [], "subtotal": 29.99, "discount_total": 0, "tax": null, "total": 29.99, "invoice_credits": { "balance": 10, "applied": 10, "currency": "usd" }, "amount_due": 19.99, "due_date": 1761839877000 } } ``` # Backfill Invoices Source: https://docs.useautumn.com/api-reference/invoices/insertInvoices openapi POST /v1/invoices.insert Inserts or updates up to 500 historical invoices without reading or mutating the billing processor. ### Body Parameters Invoices to insert or update, in response order. The customer this invoice belongs to. Plan IDs represented by this invoice. The processor's stable invoice ID. The billing processor that owns this invoice. The invoice status. The invoice total in major currency units. The amount paid in major currency units. The refunded amount in major currency units. The currency code. Defaults to the organization's default currency. The invoice creation timestamp in milliseconds. The hosted invoice URL, when available. ### Response Inserted or updated invoices in request order. Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page The Autumn invoice ID. The customer this invoice belongs to. The amount paid in major currency units. The refunded amount in major currency units. ```json 200 theme={null} { "invoices": [ { "id": "inv_2b3c4d5e6f7g8h", "customer_id": "cus_123", "plan_ids": [ "pro" ], "stripe_id": "in_legacy_123", "processor_type": "stripe", "status": "paid", "total": 29.99, "amount_paid": 29.99, "refunded_amount": 0, "currency": "usd", "created_at": 1451606400000, "hosted_invoice_url": "https://billing.example.com/invoices/legacy-123" } ] } ``` # Issue Credit Note Source: https://docs.useautumn.com/api-reference/invoices/issueCreditNote openapi POST /v1/invoices.issue_credit_note Issues a Stripe credit note against an open or paid invoice, for a flat amount or for specific invoice lines. On an open invoice the credit reduces what is still owed. On a paid invoice the credited money goes to the chosen destination: the customer's balance (default), a refund, or a record of money returned outside Stripe. Line amounts are pre-discount and pre-tax, like the invoice's own item amounts. Pass preview to see the credit note without issuing it. ### Body Parameters The Autumn invoice ID to credit. Must be open or paid. Total to credit across the whole invoice. Cannot be combined with lines. Credit specific invoice lines instead of a flat amount. Cannot be combined with amount. Unavailable on invoices recorded before line item storage. The invoice line item ID (invoice\_li\_...) from the invoice's items. Amount to credit on this line, pre-discount and pre-tax like the line's own amount. The line's discount share and tax are applied on top. Number of units of this line to credit. Where already-paid money goes. customer\_balance credits the customer's balance for their next invoice, refund returns it to the original payment method, and out\_of\_band records money returned outside Stripe. Email the credit note to the customer. Reason shown on the credit note. Memo printed on the credit note PDF. Return the credit note that would be issued without creating it. ### Response The Stripe credit note ID. Null on previews. The Autumn invoice ID this credit note adjusts. Credit note number shown on the PDF. Null on previews. issued or void. Null on previews. Total credited, including discounts and tax. Portion that reduced the amount still owed on the invoice. Portion of already-paid money returned to the customer. URL of the credit note PDF. Null on previews. The credited invoice line item ID, if the credit targeted a line. Amount credited on this line, pre-discount and pre-tax. ```json 200 theme={null} { "credit_note": { "id": "cn_1MxvRqLkdIwHu7ixY0xbUcxk", "invoice_id": "inv_2b3c4d5e6f7g8h", "number": "ABC-0001-CN-01", "status": "issued", "currency": "usd", "subtotal": 20, "discount_amount": 0, "tax_amount": 0, "total": 20, "pre_payment_amount": 0, "post_payment_amount": 20, "refund_amount": 20, "credit_amount": 0, "out_of_band_amount": 0, "reason": "product_unsatisfactory", "memo": "Partial refund for degraded service", "pdf": "https://pay.stripe.com/credit_notes/acct_123/test_456/pdf", "lines": [ { "invoice_line_item_id": "invoice_li_2b3c4d5e6f7g8h", "description": "Pro plan", "quantity": null, "amount": 20, "discount_amount": 0 } ] } } ``` # List Invoice Templates Source: https://docs.useautumn.com/api-reference/invoices/listInvoiceTemplates openapi POST /v1/invoices.listTemplates Lists the organization's invoice templates, newest first, with offset pagination. Use a template's `id` as `invoice_template_id` when creating or reissuing an invoice. ### Body Parameters Number of items to skip Number of items to return. Default 10, max 1000. ### Response Invoice templates, newest first. Unique identifier for the invoice template. User-defined name to distinguish this template when sending an invoice. Footer text rendered on the invoice, typically bank details so customers can pay directly. Memo shown near the top of the invoice (Stripe invoice description), e.g. a contact line for payment questions. Default number of days the customer has to pay before the invoice is due. Overridable when sending. Timestamp (ms) when the template was created. Number of templates returned in this page. Whether more templates exist after this page. ```json 200 theme={null} { "list": [ { "id": "inv_tmpl_2b3c4d5e6f7g8h", "name": "Bank transfer", "footer": "Pay by wire to IBAN GB00 EXAM 0000 0000 0000 00", "memo": "Questions? billing@example.com", "net_terms_days": 30, "created_at": 1759247877000 } ], "total": 1, "limit": 10, "offset": 0, "has_more": false } ``` # List Invoices Source: https://docs.useautumn.com/api-reference/invoices/listInvoices openapi POST /v1/invoices.list Lists invoices with cursor pagination and optional filters (customer, entity, status, processor). Pass `start_cursor: ""` (or omit) for the first page; use `next_cursor` from a prior response for subsequent pages. ### Body Parameters Opaque pagination cursor. Empty string (default) requests the first page; use next\_cursor from a prior response for subsequent pages. Number of items to return. Default 50, hard ceiling 5000. Filter invoices to a single customer by ID. Filter invoices to a single entity by ID. Must be provided together with customer\_id, since entity IDs are only unique per customer. Filter to the invoice with this Autumn invoice ID (e.g. inv\_2b3c4d5e6f7g8h). Filter to the invoice with this Stripe invoice ID (e.g. in\_1A2B3C4D5E6F7G8H). Filter by invoice status (draft, open, paid, void, uncollectible). Filter by billing processor (stripe, revenuecat). Invoices recorded before processor tracking count as stripe. ### Response Items for current page. Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page The Autumn invoice ID The ID of the customer this invoice belongs to. Null for customers created without an ID. The ID of the entity this invoice belongs to, if entity-scoped The amount paid on the invoice. Null on invoices recorded before amounts paid were tracked. The total amount refunded on the invoice Line items on the invoice, one per line as shown in Stripe. Capped at 100. Empty for invoices recorded before line item storage. The Autumn invoice line item ID. Stable across reads, and can be used to reference this line in later calls. Description of the invoice line item Timestamp when the billing period starts Timestamp when the billing period ends The plan this line item came from. Null for lines with no Autumn plan behind them. The ID of the feature associated with this line item The name of the feature associated with this line item Quantity actually charged on this line. Null on fixed-price lines. Amount charged on this line, pre-discount and pre-tax. Negative for credits. How this line splits by entity. Empty for customer-level lines. Only populated for invoices finalized after entity attribution shipped. The entity this share of the line item is attributed to Quantity charged to this entity. Null on fixed-price lines. Amount attributed to this entity, pre-discount and pre-tax Opaque cursor for the next page. Null when there are no more results. ```json 200 theme={null} { "list": [ { "id": "inv_2b3c4d5e6f7g8h", "customer_id": "cus_123", "entity_id": null, "plan_ids": [ "pro_plan" ], "stripe_id": "in_1A2B3C4D5E6F7G8H", "processor_type": "stripe", "status": "paid", "total": 29.99, "amount_paid": 29.99, "refunded_amount": 0, "currency": "usd", "created_at": 1759247877000, "hosted_invoice_url": "https://invoice.stripe.com/i/acct_123/test_456", "items": [ { "id": "invoice_li_2b3c4d5e6f7g8h", "description": "Pro plan", "plan_id": "pro_plan", "feature_id": null, "feature_name": null, "quantity": null, "amount": 20, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [] }, { "id": "invoice_li_3c4d5e6f7g8h9i", "description": "AI credits", "plan_id": "pro_plan", "feature_id": "ai_credits", "feature_name": "AI Credits", "quantity": 4995, "amount": 9.99, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [ { "entity_id": "acme-docs-prod", "quantity": 4995, "amount": 9.99 } ] } ] } ], "next_cursor": null } ``` # Mark Invoice as Paid Source: https://docs.useautumn.com/api-reference/invoices/payInvoice openapi POST /v1/invoices.pay Marks an open Stripe invoice as paid out of band. No charge is attempted; use this when payment was collected elsewhere (e.g. a marketplace). Already-paid invoices are returned unchanged. ### Body Parameters The Autumn invoice ID to mark as paid. ### Response Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page The Autumn invoice ID The ID of the customer this invoice belongs to. Null for customers created without an ID. The ID of the entity this invoice belongs to, if entity-scoped The amount paid on the invoice. Null on invoices recorded before amounts paid were tracked. The total amount refunded on the invoice Line items on the invoice, one per line as shown in Stripe. Capped at 100. Empty for invoices recorded before line item storage. The Autumn invoice line item ID. Stable across reads, and can be used to reference this line in later calls. Description of the invoice line item Timestamp when the billing period starts Timestamp when the billing period ends The plan this line item came from. Null for lines with no Autumn plan behind them. The ID of the feature associated with this line item The name of the feature associated with this line item Quantity actually charged on this line. Null on fixed-price lines. Amount charged on this line, pre-discount and pre-tax. Negative for credits. How this line splits by entity. Empty for customer-level lines. Only populated for invoices finalized after entity attribution shipped. The entity this share of the line item is attributed to Quantity charged to this entity. Null on fixed-price lines. Amount attributed to this entity, pre-discount and pre-tax ```json 200 theme={null} { "invoice": { "id": "inv_2b3c4d5e6f7g8h", "customer_id": "cus_123", "entity_id": null, "plan_ids": [ "pro_plan" ], "stripe_id": "in_1A2B3C4D5E6F7G8H", "processor_type": "stripe", "status": "paid", "total": 29.99, "amount_paid": 29.99, "refunded_amount": 0, "currency": "usd", "created_at": 1759247877000, "hosted_invoice_url": "https://invoice.stripe.com/i/acct_123/test_456", "items": [ { "id": "invoice_li_2b3c4d5e6f7g8h", "description": "Pro plan", "plan_id": "pro_plan", "feature_id": null, "feature_name": null, "quantity": null, "amount": 20, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [] }, { "id": "invoice_li_3c4d5e6f7g8h9i", "description": "AI credits", "plan_id": "pro_plan", "feature_id": "ai_credits", "feature_name": "AI Credits", "quantity": 4995, "amount": 9.99, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [ { "entity_id": "acme-docs-prod", "quantity": 4995, "amount": 9.99 } ] } ] } } ``` # Reissue Invoice Source: https://docs.useautumn.com/api-reference/invoices/reissueInvoice openapi POST /v1/invoices.reissue Voids an open send-invoice Stripe invoice and issues a replacement with the same line items. An invoice template can supply the replacement's footer (e.g. bank details) and memo. The replacement keeps the original due date unless net_terms_days is passed, which is required once the original is past due. Pass update_customer_email to change the customer's billing email first so the replacement is sent there. The replacement stays linked to the same subscription and fulfils the same pending plan when paid. ### Body Parameters The Autumn invoice ID to void and replace. ID of an invoice template (configured in billing settings) whose footer and memo are applied to the replacement invoice. Number of days the customer has to pay the replacement invoice. Defaults to the original invoice's due date; required when that date has already passed. A card-charged invoice has no due date and its replacement is charged immediately; setting this makes the replacement a send-invoice one instead. If true, returns the replacement invoice's lines and totals without voiding anything or issuing it. How far the replacement advances: draft, finalize (opened without emails, reminders or charges) or send. Defaults to send. The original is retired either way. Updates the customer's billing email before the replacement is issued, so Stripe sends the new invoice to this address. Changes that apply to the replacement invoice only. Enable or disable Stripe automatic tax on the replacement. Omit to inherit. Enabling clears inherited manual tax rates; use tax\_rate\_id: null to remove all tax. Fields shown on this invoice only, such as a PO number. Up to four; pass an empty array to clear them. Stripe tax rate applied to every line. Omit to keep the original's tax, or pass null to issue the replacement with no tax. Your own Stripe tax registrations (atx\_...) shown as the seller's tax numbers. Not the customer's. Footer text, overriding the original's and any template's. Memo shown near the top of the invoice. Payment method types the customer can pay the replacement with, e.g. card and customer\_balance (bank transfer). Overrides the org's allowed payment methods. A method other than card on a card-charged invoice sends the replacement for payment instead, on net\_terms\_days or the default terms. Changes written to the customer, which the replacement snapshots and later invoices inherit. Billing email. Same as update\_customer\_email; passing both with different values is rejected. Customer name shown on this and every later invoice. Billing address. Drives tax when the org uses Stripe Tax, and is snapshotted onto the replacement. The customer's own tax registrations, e.g. \{ type: 'eu\_vat', value: 'FR123...' }. Replaces the existing set; pass an empty array to remove them. Custom fields shown on this and every future invoice. Use invoice.custom\_fields for this invoice alone. Add, change or drop lines relative to the original. Amount in dollars for this line item (e.g. 10.50). Can be negative for credits. Description for the line item. The catalog plan (or variant) whose pricing to use. Plan version. Defaults to the active version. The entity this plan's lines are billed to. Omit to inherit the request's entity\_id, or pass null for customer-level. Pricing overrides applied to this invoice only. The catalog and the customer's plan are not changed. Override the plan's base price for this invoice. Pass null or an amount of 0 to omit the base price line. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Bill this line under an existing Stripe price instead of an inline one. Stripe price ID. For prepaid with included > 0 this is the V2 price. Override feature pricing for this invoice. Only pricing fields are accepted; grants, resets and rollovers are not part of an invoice. The feature whose pricing is overridden on this invoice. Pricing to use for this feature on this invoice. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Bill this line under an existing Stripe price instead of an inline one. Stripe price ID. For prepaid with included > 0 this is the V2 price. For credit-system features: a credit rate card to use when converting `usage` on this invoice. For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. The feature to bill. Which of the feature's prices to use: 'prepaid' or 'usage\_based'. Billable feature units in total, exclusive of any included usage. Not per seat or per entity. For a credit-system feature this is the number of credits. For credit-system features: billable units of the source features, converted through the credit rate card. Mutually exclusive with quantity. The metered feature whose units are being converted. Billable units of the metered feature. Converted to the credit-system feature through its rate card. Event properties used to pick the rate card dimension and multipliers. Whether to prorate this line against its period. Defaults to true for prepaid and false for usage-based. Start of the period this line covers, in milliseconds. Defaults to the parent's period, then the invoice's period\_start / period\_end when sent. End of the period this line covers, in milliseconds. Given together with period\_start. The license plan linked to the parent plan. Billable seats, exclusive of any included seats. Pricing overrides for this license on this invoice only. The catalog and the customer's plan are not changed. Override the license's per-seat price on this invoice. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Bill this line under an existing Stripe price instead of an inline one. Stripe price ID. For prepaid with included > 0 this is the V2 price. Override the license plan's feature pricing for this license's feature\_quantities on this invoice. The parent plan's customize.items never apply to license features. The feature whose pricing is overridden on this invoice. Pricing to use for this feature on this invoice. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Bill this line under an existing Stripe price instead of an inline one. Stripe price ID. For prepaid with included > 0 this is the V2 price. For credit-system features: a credit rate card to use when converting `usage` on this invoice. For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. Feature charges priced through the license plan. The feature to bill. Which of the feature's prices to use: 'prepaid' or 'usage\_based'. Billable feature units in total, exclusive of any included usage. Not per seat or per entity. For a credit-system feature this is the number of credits. For credit-system features: billable units of the source features, converted through the credit rate card. Mutually exclusive with quantity. The metered feature whose units are being converted. Billable units of the metered feature. Converted to the credit-system feature through its rate card. Event properties used to pick the rate card dimension and multipliers. Whether to prorate this line against its period. Defaults to true for prepaid and false for usage-based. Start of the period this line covers, in milliseconds. Defaults to the parent's period, then the invoice's period\_start / period\_end when sent. End of the period this line covers, in milliseconds. Given together with period\_start. Whether to prorate seat charges against the license's period. Defaults to true. Start of the period this line covers, in milliseconds. Defaults to the parent's period, then the invoice's period\_start / period\_end when sent. End of the period this line covers, in milliseconds. Given together with period\_start. Discounts applied only to this plan's lines. The ID of the reward to apply as a discount. The promotion code to apply as a discount. Whether to prorate the base price against the plan's period. Defaults to true. Start of the period this line covers, in milliseconds. Defaults to the parent's period, then the invoice's period\_start / period\_end when sent. End of the period this line covers, in milliseconds. Given together with period\_start. The invoice line item ID from invoices.list items. Invoice line item IDs to leave off the replacement. ### Response The replacement invoice. Null when preview is true. Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page The Autumn invoice ID The ID of the customer this invoice belongs to. Null for customers created without an ID. The ID of the entity this invoice belongs to, if entity-scoped The amount paid on the invoice. Null on invoices recorded before amounts paid were tracked. The total amount refunded on the invoice Line items on the invoice, one per line as shown in Stripe. Capped at 100. Empty for invoices recorded before line item storage. The Autumn invoice line item ID. Stable across reads, and can be used to reference this line in later calls. Description of the invoice line item Timestamp when the billing period starts Timestamp when the billing period ends The plan this line item came from. Null for lines with no Autumn plan behind them. The ID of the feature associated with this line item The name of the feature associated with this line item Quantity actually charged on this line. Null on fixed-price lines. Amount charged on this line, pre-discount and pre-tax. Negative for credits. How this line splits by entity. Empty for customer-level lines. Only populated for invoices finalized after entity attribution shipped. The entity this share of the line item is attributed to Quantity charged to this entity. Null on fixed-price lines. Amount attributed to this entity, pre-discount and pre-tax The Autumn ID of the original invoice, now void. Null when previewing, and when the original was paid and got a credit note instead. The Stripe credit note issued against a paid original, whose amount lands on the customer's balance and covers the replacement. Null when the original was open and voided instead. The replacement's lines and totals. The entity this line is billed to. Null for customer-level lines. The customer's Stripe credit balance and how much of it this invoice consumes. Stripe customer credit balance available, expressed as a positive number in major currency units. How much of that balance this invoice consumes, capped at its total. The rest stays on the customer. Three-letter currency code. What the customer pays: the total less any credit applied. ```json 200 theme={null} { "invoice": { "id": "inv_3c4d5e6f7g8h9i", "customer_id": "cus_123", "entity_id": null, "plan_ids": [ "pro_plan" ], "stripe_id": "in_1A2B3C4D5E6F7G8H", "processor_type": "stripe", "status": "open", "total": 29.99, "amount_paid": 29.99, "refunded_amount": 0, "currency": "usd", "created_at": 1759247877000, "hosted_invoice_url": "https://invoice.stripe.com/i/acct_123/test_456", "items": [ { "id": "invoice_li_2b3c4d5e6f7g8h", "description": "Pro plan", "plan_id": "pro_plan", "feature_id": null, "feature_name": null, "quantity": null, "amount": 20, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [] }, { "id": "invoice_li_3c4d5e6f7g8h9i", "description": "AI credits", "plan_id": "pro_plan", "feature_id": "ai_credits", "feature_name": "AI Credits", "quantity": 4995, "amount": 9.99, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [ { "entity_id": "acme-docs-prod", "quantity": 4995, "amount": 9.99 } ] } ] }, "voided_invoice_id": "inv_2b3c4d5e6f7g8h", "preview": { "currency": "usd", "lines": [], "subtotal": 29.99, "discount_total": 0, "tax": null, "total": 29.99, "amount_due": 29.99, "due_date": 1761839877000 } } ``` # Void Invoice Source: https://docs.useautumn.com/api-reference/invoices/voidInvoice openapi POST /v1/invoices.void Voids an open or uncollectible Stripe invoice. Any plan still waiting on the invoice to be paid expires. Voiding an unpaid subscription invoice lets Stripe re-derive the subscription status from its remaining invoices, which can move a past-due subscription back to active. Already-void invoices are returned unchanged. ### Body Parameters The Autumn invoice ID to void. ### Response Array of plan IDs included in this invoice The Stripe invoice ID The billing processor that owns this invoice. The status of the invoice The total amount of the invoice The currency code for the invoice Timestamp when the invoice was created URL to the Stripe-hosted invoice page The Autumn invoice ID The ID of the customer this invoice belongs to. Null for customers created without an ID. The ID of the entity this invoice belongs to, if entity-scoped The amount paid on the invoice. Null on invoices recorded before amounts paid were tracked. The total amount refunded on the invoice Line items on the invoice, one per line as shown in Stripe. Capped at 100. Empty for invoices recorded before line item storage. The Autumn invoice line item ID. Stable across reads, and can be used to reference this line in later calls. Description of the invoice line item Timestamp when the billing period starts Timestamp when the billing period ends The plan this line item came from. Null for lines with no Autumn plan behind them. The ID of the feature associated with this line item The name of the feature associated with this line item Quantity actually charged on this line. Null on fixed-price lines. Amount charged on this line, pre-discount and pre-tax. Negative for credits. How this line splits by entity. Empty for customer-level lines. Only populated for invoices finalized after entity attribution shipped. The entity this share of the line item is attributed to Quantity charged to this entity. Null on fixed-price lines. Amount attributed to this entity, pre-discount and pre-tax ```json 200 theme={null} { "invoice": { "id": "inv_2b3c4d5e6f7g8h", "customer_id": "cus_123", "entity_id": null, "plan_ids": [ "pro_plan" ], "stripe_id": "in_1A2B3C4D5E6F7G8H", "processor_type": "stripe", "status": "void", "total": 29.99, "amount_paid": 29.99, "refunded_amount": 0, "currency": "usd", "created_at": 1759247877000, "hosted_invoice_url": "https://invoice.stripe.com/i/acct_123/test_456", "items": [ { "id": "invoice_li_2b3c4d5e6f7g8h", "description": "Pro plan", "plan_id": "pro_plan", "feature_id": null, "feature_name": null, "quantity": null, "amount": 20, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [] }, { "id": "invoice_li_3c4d5e6f7g8h9i", "description": "AI credits", "plan_id": "pro_plan", "feature_id": "ai_credits", "feature_name": "AI Credits", "quantity": 4995, "amount": 9.99, "period_start": 1759247877000, "period_end": 1761839877000, "entities": [ { "entity_id": "acme-docs-prod", "quantity": 4995, "amount": 9.99 } ] } ] } } ``` # Mint Source: https://docs.useautumn.com/api-reference/keys/mintKey openapi POST /v1/keys.mint Mints a per-customer token (a scoped `am_jwt_` credential) so a downstream / self-hosted app can call Autumn directly without your secret key. Returns a short-lived access token plus a rotating refresh token, both bound to the given customer. Authenticated with your secret key. Mints a per-customer token — a scoped `am_jwt_` credential — so a self-hosted or downstream app can call Autumn directly without your secret key. Authenticated with your **secret key**. Returns a short-lived access token (1h) and a rotating refresh token (24h), both bound to a single customer. ### How it works 1. Your backend calls `keys.mint` with your secret key to issue a token pair for a customer. 2. Hand the **access token** to that customer's app. It can call `check`, `track`, `customers.get` and `entities.get` — always scoped to that customer, even if a different `customer_id` is sent. 3. Before the access token expires, the app calls [`keys.refresh`](/api-reference/keys/refreshKey) with its **refresh token** to rotate a fresh pair — no secret key required. ```typescript TypeScript theme={null} const { accessToken, refreshToken } = await autumn.keys.mint({ customerId: "cus_123", }); ``` ```bash cURL theme={null} curl -X POST "https://api.useautumn.com/v1/keys.mint" \ -H "Authorization: Bearer am_sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "customer_id": "cus_123" }' ``` ### Body Parameters The customer to mint a token for. If true, mint a non-expiring access token (no refresh token). Revoke via keys.revoke. ### Response Access token (1h, or non-expiring if indefinite), prefixed `am_jwt_`. Rotating refresh token (24h). Omitted for indefinite tokens. Access-token expiry, ms since epoch. null for indefinite tokens. Refresh-token expiry, ms since epoch. Omitted for indefinite tokens. ```json 200 theme={null} { "access_token": "am_jwt_eyJhbGciOiJIUzI1NiJ9...", "refresh_token": "am_jwt_eyJhbGciOiJIUzI1NiJ9...", "expires_at": 1781113864000, "refresh_expires_at": 1781196664000 } ``` # Refresh Source: https://docs.useautumn.com/api-reference/keys/refreshKey openapi POST /v1/keys.refresh Exchanges a refresh token (sent as the Bearer credential) for a freshly rotated access + refresh pair. Self-service for the token holder — no secret key required. The previous refresh token is honored for one rotation as a grace window; replaying an older one revokes the customer's tokens. Exchanges a refresh token for a freshly rotated access + refresh pair. Self-service for the token holder — **no secret key required**. Send the refresh token as the Bearer credential. ### How it works The just-replaced refresh token is honored for one more rotation (a grace window so a dropped response or a second app instance doesn't lock the customer out). Replaying a refresh token that is more than one generation old is treated as theft and revokes the customer's tokens. ```typescript TypeScript theme={null} // Client configured with the refresh token as its key import { Autumn } from "autumn-js"; const autumn = new Autumn({ secretKey: JWT_REFRESH_TOKEN, }); const { accessToken, refreshToken } = await autumn.keys.refresh({}); ``` ```bash cURL theme={null} curl -X POST "https://api.useautumn.com/v1/keys.refresh" \ -H "Authorization: Bearer am_jwt_" ``` ### Response Access token (1h, or non-expiring if indefinite), prefixed `am_jwt_`. Rotating refresh token (24h). Omitted for indefinite tokens. Access-token expiry, ms since epoch. null for indefinite tokens. Refresh-token expiry, ms since epoch. Omitted for indefinite tokens. ```json 200 theme={null} { "access_token": "am_jwt_eyJhbGciOiJIUzI1NiJ9...", "refresh_token": "am_jwt_eyJhbGciOiJIUzI1NiJ9...", "expires_at": 1781113864000, "refresh_expires_at": 1781196664000 } ``` # Revoke Source: https://docs.useautumn.com/api-reference/keys/revokeKey openapi POST /v1/keys.revoke Revokes every outstanding token (access and refresh) for a customer. Authenticated with your secret key. New tokens can be issued afterwards with `keys.mint`. Revokes every outstanding token — access and refresh — for a customer. Authenticated with your **secret key**. Issue new tokens afterwards with [`keys.mint`](/api-reference/keys/mintKey). ```typescript TypeScript theme={null} await autumn.keys.revoke({ customerId: "cus_123" }); ``` ```bash cURL theme={null} curl -X POST "https://api.useautumn.com/v1/keys.revoke" \ -H "Authorization: Bearer am_sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "customer_id": "cus_123" }' ``` ### Body Parameters The customer whose tokens (every outstanding access + refresh token) should be revoked. ### Response ```json 200 theme={null} { "revoked": true } ``` # Attach License Source: https://docs.useautumn.com/api-reference/licenses/attachLicense openapi POST /v1/licenses.attach Assigns licenses to one or more entities. License assignment is idempotent for an entity that already has an active assignment for the same license plan. Autumn skips those entities without consuming another license; mixed batches assign only unassigned entities. A duplicate-only request still returns `200` with `{ "success": true }`. Duplicate IDs within one batch and insufficient capacity for new assignments still return an error. ### Body Parameters The ID of the entity to assign the license to. The name of the entity, used when creating it. The feature the entity is associated with. Required when the entity does not exist yet. ### Response # List License Assignments Source: https://docs.useautumn.com/api-reference/licenses/listLicenseAssignments openapi POST /v1/licenses.list_assignments Lists license assignments for a customer. ### Body Parameters ### Response ```json 200 theme={null} { "list": [ { "id": "lic_asn_123", "entity_id": "user_123", "license_plan_id": "seat_plan", "started_at": 1759247877000, "ended_at": null } ] } ``` # List Licenses Source: https://docs.useautumn.com/api-reference/licenses/listLicenses openapi POST /v1/licenses.list Lists a customer's license pools and available seats. ### Body Parameters ### Response The plan offered as an assignable license. The plan that offers this license. Display name of the license plan. Total seats the customer has for this license, included plus paid. Seats currently assigned to entities. Seats still available to assign. Paid seats purchased on top of the plan's included amount. ```json 200 theme={null} { "list": [ { "license_plan_id": "seat_plan", "parent_plan_id": "pro_plan", "license_plan_name": "Seat", "granted": 10, "usage": 3, "remaining": 7, "paid_quantity": 5 } ] } ``` # Release License Source: https://docs.useautumn.com/api-reference/licenses/releaseLicense openapi POST /v1/licenses.release Releases licenses assigned to one or more entities. ### Body Parameters Scopes the release when an entity holds licenses of multiple plans. ### Response # Search Request Logs Source: https://docs.useautumn.com/api-reference/logs/searchRequestLogs openapi POST /v1/logs.search Search API requests and incoming Stripe webhooks for your organization and environment. Search API requests and incoming Stripe webhooks for your organization and environment. ### Common Use Cases ```typescript Customer errors theme={null} const logs = await autumn.logs.search({ query: "where customer_id == 'cus_123' and status_code >= 400", limit: 50, }); ``` ```typescript Feature requests theme={null} const logs = await autumn.logs.search({ query: "where request_body.feature_id == 'credits' | order by timestamp desc", range: { startDate: new Date(Date.now() - 60 * 60 * 1000).toISOString(), }, }); ``` ```typescript Stripe webhooks theme={null} const logs = await autumn.logs.search({ query: "where source == 'stripe_webhook' and stripe_event_type == 'customer.subscription.updated'", limit: 25, }); ``` ### Writing a query Use `where` to filter, `order by` to sort, and `limit` to cap results. Join these steps with `|`. Without a query, you get the most recent logs. Filter on fields like `customer_id`, `status_code`, `request_path`, and `stripe_event_type`. Use dot paths for body fields, such as `request_body.feature_id`, or `contains` to find text: `where response_body contains 'error'`. Field names inside the query stay in snake\_case, including when you use the TypeScript SDK. By default, the search covers the last 30 minutes. Set `range` to search another window of up to 7 days. ### Body Parameters Filter and sort logs using where, order by, and limit, joined with |. Omit to return recent logs. Time window to search. Defaults to the last 30 minutes. Maximum 7 days. Start of the time window in ISO 8601 format. Defaults to 30 minutes before end\_date. End of the time window in ISO 8601 format. Defaults to now. Maximum number of logs to return, from 1 to 200. Defaults to 100. ### Response Matching logs, newest first unless you specify an order. When the log was recorded, in ISO 8601 format. Whether this was an API request or an incoming Stripe webhook. HTTP response status code. HTTP request details. HTTP method, such as GET or POST. Full request URL. Request path without the host or query string. Organization, customer, and user associated with the request. Autumn organization that made the request. Customer ID associated with the request, if available. Entity ID associated with the request, if available. How the request was authenticated, such as secret\_key or dashboard. Authenticated user's ID, if available. Authenticated user's email, if available. Stripe webhook details. Fields are null for API requests. Stripe event ID, if this was a Stripe webhook. Stripe event type, such as customer.subscription.updated. ID of the Stripe object the event refers to. Recorded request body, or null if unavailable. Recorded response body, or null if unavailable. ```json 200 theme={null} { "list": [ { "timestamp": "2026-09-21T12:00:00.000Z", "source": "api_request", "status_code": 200, "request": { "method": "POST", "url": "https://api.useautumn.com/v1/balances.check", "path": "/v1/balances.check" }, "context": { "org_id": "org_123", "customer_id": "cus_123", "entity_id": null, "auth_type": "secret_key", "user_id": "user_123", "user_email": "user@example.com" }, "stripe": { "event_id": null, "event_type": null, "object_id": null }, "request_body": { "customer_id": "cus_123" }, "response_body": { "allowed": true } } ] } ``` # Create a plan Source: https://docs.useautumn.com/api-reference/plans/createPlan openapi POST /v1/plans.create Creates a new plan with optional base price and feature configurations. Use this to programmatically create pricing plans. See [How plans work](/documentation/pricing/plans) for concepts. Creates a new plan with optional base price and feature configurations. See [How plans work](/documentation/concepts/plans) for concepts and [Adding features to plans](/documentation/concepts/plan-items) for item configuration. ### Plan Configuration A plan consists of: * **Base price** - optional recurring charge for the plan itself * **Items** - feature configurations defining what customers get and how they're billed ### Configuring Items Each item in the `items` array configures a single feature. There are two types: **Consumable features** (API calls, messages, credits): * Set `included` for free units that reset each period * Set `reset.interval` to define when balance resets to `included` * Optionally add `price` for usage beyond included amount **Non-consumable features** (seats, storage): * Set `included` for the base allocation * Do NOT set `reset` - usage persists across billing cycles * Use `billing_method: "prepaid"` for upfront payment per unit ### Multiple Currencies To sell a plan in currencies beyond your organization's default, set `additional_currencies` on the base price, a feature price, or each tier of a tiered price. Amounts are explicit per currency - no exchange rates are applied - and tier boundaries stay the same across currencies. See [Plans](/documentation/concepts/plans#multiple-currencies) for how customers are matched to a currency. ### Common Use Cases ```typescript Free plan with auto-enable theme={null} await autumn.plans.create({ planId: "free_plan", name: "Free", autoEnable: true, // Automatically attached on customer creation items: [ { featureId: "messages", included: 100, reset: { interval: "month" } } ] }); ``` ```typescript Paid plan with base price + usage-based feature theme={null} await autumn.plans.create({ planId: "pro_plan", name: "Pro Plan", price: { amount: 10, interval: "month" }, items: [ { featureId: "messages", included: 1000, reset: { interval: "month" }, price: { amount: 0.01, interval: "month", billingUnits: 1, billingMethod: "usage_based" } } ] }); ``` ```typescript Plan with prepaid seats theme={null} await autumn.plans.create({ planId: "team_plan", name: "Team Plan", price: { amount: 49, interval: "month" }, items: [ { featureId: "seats", included: 5, // No reset - seats persist across billing cycles price: { amount: 10, interval: "month", billingUnits: 1, billingMethod: "prepaid" } } ] }); ``` ```typescript Add-on plan theme={null} await autumn.plans.create({ planId: "analytics_addon", name: "Advanced Analytics", addOn: true, // Can be attached alongside other plans price: { amount: 20, interval: "month" } }); ``` ```typescript Plan with tiered pricing theme={null} await autumn.plans.create({ planId: "api_plan", name: "API Plan", items: [ { featureId: "api_calls", included: 1000, reset: { interval: "month" }, price: { tiers: [ { to: 10000, amount: 0.001 }, { to: 100000, amount: 0.0005 }, { to: "inf", amount: 0.0001 } ], interval: "month", billingUnits: 1, billingMethod: "usage_based" } } ] }); ``` ```typescript Plan with free trial theme={null} await autumn.plans.create({ planId: "premium_plan", name: "Premium", price: { amount: 99, interval: "month" }, freeTrial: { durationLength: 14, durationType: "day", cardRequired: true } }); ``` ### Body Parameters The ID of the plan to create. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Display name of the plan. Optional description of the plan. If true, this plan can be attached alongside other plans. Otherwise, attaching replaces existing plans in the same group. If true, plan is automatically attached when a customer is created. Use for free tiers. Base recurring price for the plan. Omit for free or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Feature configurations for this plan. Each item defines included units, pricing, and reset behavior. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Plans offered as assignable licenses under this plan. The full set replaces existing links. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration. Customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use (e.g. UI copy, feature highlights). Values can be any JSON-serializable value. Shared across all versions of the plan. ### Response Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Plans offered as assignable licenses under this plan. Omitted when the plan has none. The plan offered as a license under this plan. The exact license-plan version pinned by this link. Version slug of the license-plan row this link points at. Number of license assignments included with this plan for free. Assignments are capped at the included quantity. Must be true for now; overflow billing (false) is not yet available. The item and price diff applied to this parent-plan link. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Arbitrary key-value metadata defined by you on this link. The effective plan for this license link — the pinned version, with the link's customize applied. Present when license plans are expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. ```json 200 theme={null} { "id": "pro", "name": "Pro Plan", "description": null, "group": null, "version": 1, "version_slug": "v1", "active": true, "addOn": false, "autoEnable": false, "price": { "amount": 10, "interval": "month", "display": { "primaryText": "$10", "secondaryText": "per month" } }, "items": [ { "featureId": "messages", "included": 100, "unlimited": false, "reset": { "interval": "month" }, "price": { "amount": 0.5, "interval": "month", "billingUnits": 100, "billingMethod": "usage_based", "maxPurchase": null }, "display": { "primaryText": "100 messages", "secondaryText": "then $0.5 per 100 messages" } }, { "featureId": "users", "included": 0, "unlimited": false, "reset": null, "price": { "amount": 10, "interval": "month", "billingUnits": 1, "billingMethod": "prepaid", "maxPurchase": null }, "display": { "primaryText": "$10 per Users" } } ], "createdAt": 1771513979217, "env": "sandbox", "archived": false, "baseVariantId": null, "config": { "ignore_past_due": false }, "billing_controls": {}, "metadata": {} } ``` # Delete a plan Source: https://docs.useautumn.com/api-reference/plans/deletePlan openapi POST /v1/plans.delete Deletes a plan by its ID. Use this to permanently remove a plan. Plans with active customers cannot be deleted - archive them instead. Deletes a plan or a specific version of a plan. Deleting a plan cannot be undone. Existing subscriptions to this plan will remain active until canceled. ### Common Use Cases ```typescript Delete latest version theme={null} await autumn.plans.delete({ planId: "old_plan" }); ``` ```typescript Delete all versions theme={null} await autumn.plans.delete({ planId: "old_plan", allVersions: true }); ``` ### Body Parameters The ID of the plan to delete. If true, deletes all versions of the plan. Otherwise, only deletes the latest version. ### Response # Get a plan Source: https://docs.useautumn.com/api-reference/plans/getPlan openapi POST /v1/plans.get Retrieves a single plan by its ID. Use this to fetch the full configuration of a specific plan, including its features and pricing. Retrieves a single plan by its ID. Returns the latest version by default. ### Common Use Cases ```typescript Get a plan theme={null} const plan = await autumn.plans.get({ planId: "pro_plan" }); ``` ```typescript Get a specific version theme={null} const plan = await autumn.plans.get({ planId: "pro_plan", version: 2 }); ``` ### Body Parameters The ID of the plan to retrieve. The version of the plan to get. Defaults to the latest version. ### Response Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Plans offered as assignable licenses under this plan. Omitted when the plan has none. The plan offered as a license under this plan. The exact license-plan version pinned by this link. Version slug of the license-plan row this link points at. Number of license assignments included with this plan for free. Assignments are capped at the included quantity. Must be true for now; overflow billing (false) is not yet available. The item and price diff applied to this parent-plan link. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Arbitrary key-value metadata defined by you on this link. The effective plan for this license link — the pinned version, with the link's customize applied. Present when license plans are expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. ```json 200 theme={null} { "id": "pro", "name": "Pro Plan", "description": null, "group": null, "version": 1, "version_slug": "v1", "active": true, "addOn": false, "autoEnable": false, "price": { "amount": 10, "interval": "month", "display": { "primaryText": "$10", "secondaryText": "per month" } }, "items": [ { "featureId": "messages", "included": 100, "unlimited": false, "reset": { "interval": "month" }, "price": { "amount": 0.5, "interval": "month", "billingUnits": 100, "billingMethod": "usage_based", "maxPurchase": null }, "display": { "primaryText": "100 messages", "secondaryText": "then $0.5 per 100 messages" } }, { "featureId": "users", "included": 0, "unlimited": false, "reset": null, "price": { "amount": 10, "interval": "month", "billingUnits": 1, "billingMethod": "prepaid", "maxPurchase": null }, "display": { "primaryText": "$10 per Users" } } ], "createdAt": 1771513979217, "env": "sandbox", "archived": false, "baseVariantId": null, "config": { "ignore_past_due": false }, "billing_controls": {}, "metadata": {} } ``` # List all plans Source: https://docs.useautumn.com/api-reference/plans/listPlans openapi POST /v1/plans.list Lists all plans in the current environment. Use this to retrieve all plans for displaying pricing pages or managing plan configurations. Lists all plans in the current environment. Pass a `customer_id` to include customer-specific eligibility info like whether a free trial is available and the attach scenario (new, upgrade, downgrade). ### Common Use Cases ```typescript List all plans theme={null} const plans = await autumn.plans.list(); ``` ```typescript List plans with customer eligibility theme={null} const plans = await autumn.plans.list({ customerId: "cus_123" }); // Each plan will include customerEligibility: // - trialAvailable: whether customer can use the trial // - scenario: 'new', 'upgrade', 'downgrade', etc. ``` ```typescript Include archived plans theme={null} const plans = await autumn.plans.list({ includeArchived: true }); ``` ### Body Parameters Customer ID to include eligibility info (trial availability, attach scenario). Entity ID for entity-scoped plans. If true, includes archived plans in the response. If true, includes all plan versions. ### Response Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Plans offered as assignable licenses under this plan. Omitted when the plan has none. The plan offered as a license under this plan. The exact license-plan version pinned by this link. Version slug of the license-plan row this link points at. Number of license assignments included with this plan for free. Assignments are capped at the included quantity. Must be true for now; overflow billing (false) is not yet available. The item and price diff applied to this parent-plan link. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Arbitrary key-value metadata defined by you on this link. The effective plan for this license link — the pinned version, with the link's customize applied. Present when license plans are expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Variant plans derived from this base plan. Omitted when the plan has none. The plan ID of the variant derived from this base plan. Display name of the variant plan. The variant's declared divergence from its base plan — exactly what you would re-submit to recreate it. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. The variant's fully resolved plan (base + customize applied). Present when variants are expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. ```json 200 theme={null} { "list": [ { "id": "pro", "name": "Pro Plan", "description": null, "group": null, "version": 1, "version_slug": "v1", "active": true, "addOn": false, "autoEnable": false, "price": { "amount": 10, "interval": "month", "display": { "primaryText": "$10", "secondaryText": "per month" } }, "items": [ { "featureId": "messages", "included": 100, "unlimited": false, "reset": { "interval": "month" }, "price": { "amount": 0.5, "interval": "month", "billingUnits": 100, "billingMethod": "usage_based", "maxPurchase": null }, "display": { "primaryText": "100 messages", "secondaryText": "then $0.5 per 100 messages" } }, { "featureId": "users", "included": 0, "unlimited": false, "reset": null, "price": { "amount": 10, "interval": "month", "billingUnits": 1, "billingMethod": "prepaid", "maxPurchase": null }, "display": { "primaryText": "$10 per Users" } } ], "createdAt": 1771513979217, "env": "sandbox", "archived": false, "baseVariantId": null, "config": { "ignore_past_due": false }, "billing_controls": {}, "metadata": {}, "licenses": [ { "license_plan_id": "seat", "version": 1, "version_slug": "v1", "included": 3 } ] } ] } ``` # Update a plan Source: https://docs.useautumn.com/api-reference/plans/updatePlan openapi POST /v1/plans.update Updates an existing plan. Creates a new version unless `disableVersion` is set. Use this to modify plan properties, pricing, or feature configurations. See [Adding features to plans](/documentation/pricing/plan-features) for item configuration. Updates an existing plan. By default, creates a new version of the plan. See [Adding features to plans](/documentation/concepts/plan-items) for item configuration. Updates create a new plan version by default. Existing customers remain on their current version until their subscription renews or they explicitly upgrade. ### Updating Items When updating `items`, you must provide the complete items array. The new array replaces the existing configuration entirely. To update a single feature's configuration while keeping others unchanged, include all existing items with the modified values. ### Common Use Cases ```typescript Update plan price theme={null} await autumn.plans.update({ planId: "pro_plan", price: { amount: 15, interval: "month" } }); ``` ```typescript Remove base price (usage-only plan) theme={null} await autumn.plans.update({ planId: "pro_plan", price: null // Removes the base price }); ``` ```typescript Update feature's included amount theme={null} await autumn.plans.update({ planId: "pro_plan", items: [ { featureId: "messages", included: 2000, // Increased from 1000 reset: { interval: "month" } } ] }); ``` ```typescript Archive a plan theme={null} await autumn.plans.update({ planId: "old_plan", archived: true }); ``` ```typescript Rename a plan theme={null} await autumn.plans.update({ planId: "pro_plan", name: "Pro Plan (Updated)", newPlanId: "pro_plan_v2" // Optional: change the plan ID }); ``` ### Body Parameters The ID of the plan to update. Display name of the plan. Whether the plan is an add-on. Whether the plan is automatically enabled. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Feature configurations for this plan. Each item defines included units, pricing, and reset behavior. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Plans offered as assignable licenses under this plan. The full set replaces existing links. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use (e.g. UI copy, feature highlights). Values can be any JSON-serializable value. Shared across all versions of the plan. The base plan this plan should be linked to as a variant. Set to null to detach it from its base plan. The new ID to use for the plan. Can only be updated if the plan has not been used by any customers. Apply the update diff to all versions of this plan. Mutually exclusive with disable\_version. Force versioning even when no customers exist. Mutually exclusive with disable\_version. Variant plan IDs to apply this update to. Empty or omitted means no propagation. Parent plan versions that should receive this license-plan update. Additive variant updates for this base plan. Missing variants are created when name is provided. The variant plan ID to update or create. Display name to use when creating the variant if it does not exist. The exact customize patch to apply to this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Per-currency amounts for this tier. Tier boundaries ('to') are shared across all currencies. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Edit this variant in place instead of versioning it for this update. Force this variant update to create a new version. Migration draft options for an in-place direct variant update. Whether this is the org's default plan. Cannot be true on a variant. ### Response Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Plans offered as assignable licenses under this plan. Omitted when the plan has none. The plan offered as a license under this plan. The exact license-plan version pinned by this link. Version slug of the license-plan row this link points at. Number of license assignments included with this plan for free. Assignments are capped at the included quantity. Must be true for now; overflow billing (false) is not yet available. The item and price diff applied to this parent-plan link. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Arbitrary key-value metadata defined by you on this link. The effective plan for this license link — the pinned version, with the link's customize applied. Present when license plans are expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Anchor billing and reset cycles to the 1st of the month (UTC). Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Number of intervals between resets. Defaults to 1. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. ```json 200 theme={null} { "id": "pro", "name": "Pro Plan", "description": null, "group": null, "version": 1, "version_slug": "v1", "active": true, "addOn": false, "autoEnable": false, "price": { "amount": 10, "interval": "month", "display": { "primaryText": "$10", "secondaryText": "per month" } }, "items": [ { "featureId": "messages", "included": 100, "unlimited": false, "reset": { "interval": "month" }, "price": { "amount": 0.5, "interval": "month", "billingUnits": 100, "billingMethod": "usage_based", "maxPurchase": null }, "display": { "primaryText": "100 messages", "secondaryText": "then $0.5 per 100 messages" } }, { "featureId": "users", "included": 0, "unlimited": false, "reset": null, "price": { "amount": 10, "interval": "month", "billingUnits": 1, "billingMethod": "prepaid", "maxPurchase": null }, "display": { "primaryText": "$10 per Users" } } ], "createdAt": 1771513979217, "env": "sandbox", "archived": false, "baseVariantId": null, "config": { "ignore_past_due": false }, "billing_controls": {}, "metadata": {} } ``` # Create Organization Source: https://docs.useautumn.com/api-reference/platform/create-organization platform POST /platform/organizations Creates a new organization for a platform tenant. Reuses existing users and organizations if they already exist. Creates a new organization for a platform tenant. If a user with the provided email already exists, it will be reused. If an organization with the slug already exists for this user, it will be reused. # Disconnect Stripe Source: https://docs.useautumn.com/api-reference/platform/disconnectStripe openapi POST /v1/platform.disconnect_stripe Revoke Autumn's Stripe OAuth access for a managed organization in the selected environment. Does not delete the Stripe account or cancel subscriptions. Revoke Autumn's Stripe OAuth access for a tenant and clear its connection in the selected environment. Authenticate with your **master organization's secret key**, with `platform:write` scope. Pass the tenant's public `organization_slug` and an explicit `env`: `test` or `live`. You can only disconnect organizations created by your master organization. The `env` field alone selects the connection: a test-mode or live-mode master key can manage either environment's connection. ## What disconnecting changes On success, the endpoint returns `{"success":true}`. The tenant's OAuth connection is cleared before the response, so [Get Stripe Connection](/api-reference/platform/getStripeConnection) reports it as disconnected without waiting for webhook delivery. Calling the endpoint when the tenant is already disconnected also succeeds. The other environment's connection, the default sandbox account, and any separately configured Stripe secret key are preserved. Stripe catalog mappings are cleared when no separate secret-key connection remains in the selected environment. Disconnecting revokes OAuth access; it does not delete the Stripe account, cancel subscriptions, or delete customers. Operations that require the revoked connection will no longer work. Ask the tenant to confirm before disconnecting. If the request fails, do not assume the connection is still active: Stripe revocation may already have completed. Retry the request and refresh the status. To reconnect, generate a new [Stripe OAuth URL](/api-reference/platform/oauth-url) and have the tenant authorize again. ## Safety checks * **Direct account-ID connections:** connections made through [Update Connected Stripe Account](/api-reference/platform/update-stripe) belong to your own Stripe platform, not Autumn's OAuth application. This endpoint rejects them with `400` rather than revoking the wrong authorization. * **Shared OAuth authorization:** if the same Stripe OAuth account is linked to another Autumn organization in this environment, the endpoint returns `409` without revoking access. Disconnecting that shared authorization could disrupt the other organization. Resolve the shared linkage before retrying. * **Concurrent changes:** if the tenant's connection changes while the request runs, for example because the tenant reconnects, the endpoint returns `409` with `Stripe connection changed during disconnect; reload and retry`. Fetch the current status before retrying. * **Unknown organizations:** a slug that does not resolve to an organization created by your master organization returns `400` with `Organization with slug '' not found`, including slugs owned by other platforms. * **Permissions:** a missing API key returns `401`; a key without `platform:write` returns `403`. None of these responses changes the connection. ### Body Parameters Public tenant organization slug, without the master organization suffix. Stripe connection environment to inspect or disconnect. ### Response ```json 200 theme={null} { "success": true } ``` # Get Stripe Connection Source: https://docs.useautumn.com/api-reference/platform/getStripeConnection openapi POST /v1/platform.get_stripe_connection Read a managed organization's Stripe OAuth connection, account ID, and authorization time in the selected environment. Read a tenant's Stripe OAuth connection before showing a **Connect Stripe** or **Disconnect Stripe** action in your application. Authenticate with your **master organization's secret key**, with `platform:read` scope. Pass the tenant's public `organization_slug` and an explicit `env`: `test` or `live`. You can only inspect organizations created by your master organization. The `env` field alone selects the connection: a test-mode or live-mode master key can read either environment's connection. ## Interpreting the response * `connected: true` means the tenant has a stored Stripe OAuth account connection in this environment. `account_id` identifies that Stripe account. * `connected_at` is the authorization time as a Unix timestamp in **milliseconds**. It can be `null` for historical connections; `null` does not mean disconnected. * An unconnected tenant returns `{"connected":false,"account_id":null,"connected_at":null}`. A default sandbox account, a separately configured Stripe secret key, or a direct account-ID connection through your own Stripe platform does not count as an Autumn OAuth connection. This endpoint is not a general check of whether the tenant can process payments. After the tenant returns from the [Stripe OAuth flow](/api-reference/platform/oauth-url), fetch this status to update your UI. Revocations made in Stripe are reflected after Autumn processes Stripe's deauthorization webhook. A slug that does not resolve to an organization created by your master organization returns `400` with `Organization with slug '' not found`. A missing API key returns `401`, and a key without `platform:read` returns `403`. To remove the OAuth connection, call [Disconnect Stripe](/api-reference/platform/disconnectStripe). Test and live connections are managed separately. ### Body Parameters Public tenant organization slug, without the master organization suffix. Stripe connection environment to inspect or disconnect. ### Response Whether an OAuth connection is stored. Excludes platform-managed accounts, default sandbox accounts, and separate secret-key connections. OAuth-connected Stripe account ID, or null when absent. Connection timestamp in Unix milliseconds, or null for historical connections without a timestamp and when disconnected. ```json 200 theme={null} { "connected": true, "account_id": "acct_example", "connected_at": 1781113864000 } ``` # List Organizations Source: https://docs.useautumn.com/api-reference/platform/list-orgs platform GET /platform/organizations Lists all organizations created by your master organization. Supports pagination. Lists all organizations created by your master organization. Supports pagination to handle large numbers of tenant organizations. Only returns organizations that were created by your master organization through the Platform API. Organization slugs in the response do not include the master org ID prefix. # List Users Source: https://docs.useautumn.com/api-reference/platform/list-users platform GET /platform/users Lists all users created by your master organization. Supports pagination and optional expansion of related organizations. Lists all users created by your master organization. Supports pagination and optional expansion of related organizations. # Generate Stripe OAuth URL Source: https://docs.useautumn.com/api-reference/platform/oauth-url platform POST /platform/oauth_url Generates a Stripe Connect OAuth URL for a platform organization. Use this to allow your tenants to connect their Stripe accounts. Generates a Stripe Connect OAuth URL for a platform organization. Use this to allow your tenants to connect their Stripe accounts through the OAuth flow. ## OAuth Flow After generating the OAuth URL: 1. Redirect your tenant to the `oauth_url` 2. User authorizes their Stripe account 3. Stripe redirects to Autumn's callback URL 4. Autumn processes the authorization and redirects to your `redirect_url` 5. Your `redirect_url` receives `success=true` on success, or `success=false`, a stable `error` code, and a human-readable `message` on failure. After the redirect, call [Get Stripe Connection](/api-reference/platform/getStripeConnection) to refresh the connection shown in your application. Do not treat a missing `connected_at` on a historical connection as a failure. ## Reconnect and account ownership A Stripe OAuth account can belong to one Autumn organization per environment. Authorizing the same account again for the same organization refreshes the connection. Trying to connect an account already linked to a different organization returns `account_already_connected`. Conflict details are limited to organizations owned by your own master organization. A conflict with another platform does not disclose that platform's organization identity. For a same-platform conflict, `connected_org_slug` and `connected_org_name` identify the existing organization. The slug is the public tenant slug, without the master-organization suffix. To switch accounts, first [disconnect the existing OAuth connection](/api-reference/platform/disconnectStripe), then generate a new OAuth URL. Disconnecting does not delete the Stripe account or its subscriptions. ## Error handling Use `error` for application logic and display `message` to the user. Start a fresh OAuth flow after a failed callback: each `oauth_url` is valid for **60 minutes** and can be used **once**. | Error | Meaning | | - | - | | `access_denied` | The user cancelled Stripe authorization. | | `oauth_authorization_failed` | Stripe returned another authorization error. | | `missing_parameters` | The callback is missing its state or authorization code. | | `state_expired` | The `oauth_url` was opened more than 60 minutes after it was generated. | | `state_already_used` | The `oauth_url` was already used to complete or cancel a connection. | | `invalid_state` | The state was not issued by Autumn or is not valid for Stripe. | | `org_not_found` | The target organization could not be found or is no longer owned by this platform. | | `account_id_not_found` | Stripe's token response did not identify an account. | | `account_already_connected` | Another organization already uses the account in this environment. | | `account_mismatch` | The account differs from the tenant's separate secret-key connection. | | `account_mismatch_check_failed` | Autumn could not verify the separate secret-key connection. | | `oauth_callback_failed` | The token exchange, authorization check, or connection update failed. | The organization must have been created via the platform API before generating an OAuth URL. Expired and already-used links still return to your `redirect_url`. Only a state Autumn cannot verify (`invalid_state`) returns to Autumn's default callback destination, because Autumn cannot trust a return URL it did not sign. # Overview Source: https://docs.useautumn.com/api-reference/platform/overview Manage Autumn on behalf of your users in a multi-tenant flow **Private Preview** - This feature is currently in private preview. Contact us at [hey@useautumn.com](mailto:hey@useautumn.com) if you would like access! ## What is the Platform API? The Platform API is for users who want to manage Autumn on behalf of their users (for example, AI app builders) in a multi-tenant flow. ## How it Works ### 1. Create an Organization Create an Autumn organization linked to a user email. This generates API keys that your user can use to interact with Autumn's billing features. ### 2. Integrate Each organization created through Step 1 already has a Stripe account connected to their sandbox environment. As such, you can freely integrate and test Autumn without additional Stripe credentials. When you're ready to go to prod, you can then connect your user's Stripe account through the Step 3. ### 3. Link Stripe Account Connect your user's Stripe account using one of two methods: **Option A: OAuth Flow** Call our [Generate Stripe OAuth URL](/api-reference/platform/oauth-url) endpoint, which generates a link that lets the user connect their Stripe account directly. **Option B: Direct Account ID** If you have your own Stripe Connect platform, simply pass us the Stripe account ID using the [Update Connected Stripe Account](/api-reference/platform/update-stripe) endpoint and we'll handle the rest. ### 4. Manage the OAuth Connection Use [Get Stripe Connection](/api-reference/platform/getStripeConnection) to decide whether to show **Connect Stripe** or **Disconnect Stripe**. Call it after the OAuth redirect and when reopening your connection settings. Pass the tenant's public `organization_slug` and `env: "test"` or `env: "live"`; authenticate with your master organization's key, not the tenant's key. The `env` field selects the connection independently of whether that key is a test or live key. The response identifies the OAuth account and its connection time. Historical connections may have `connected_at: null`. Default sandbox accounts, separate secret-key connections, and direct account-ID connections through your own Stripe platform do not count as Autumn OAuth connections. Use [Disconnect Stripe](/api-reference/platform/disconnectStripe) to revoke the tenant's OAuth authorization and clear that environment's connection. Disconnecting does not delete the Stripe account or cancel its subscriptions. The other environment and the default sandbox account are preserved. To reconnect, generate a fresh OAuth URL and ask the tenant to authorize again. # Update Connected Stripe Account Source: https://docs.useautumn.com/api-reference/platform/update-stripe platform POST /platform/organizations/stripe Updates a platform organization's Stripe Connect configuration. Associates a Stripe account ID with the organization using your master Stripe credentials. Updates a platform organization's Stripe Connect configuration. Associates a Stripe account ID with the organization using your master Stripe credentials. ## When to Use This Endpoint Use this endpoint when you want to manage Stripe accounts on behalf of your tenants using your own Stripe Connect credentials, rather than having them go through the OAuth flow. This is for platforms that already operate their own Stripe Connect integration. It is not needed for tenants connecting through Autumn's [Stripe OAuth flow](/api-reference/platform/oauth-url), and it cannot grant access to an arbitrary Stripe account just from its ID. ## Validation * Authenticate from your backend with your master organization's Autumn secret key and `platform:write` scope. Do not expose that key to tenants. * `organization_slug` must resolve to an organization created by your authenticated master organization. Other platforms' organizations cannot be updated. * Your organization must have the corresponding Stripe secret key connected (test/live) * The endpoint validates that your master Stripe account can access the provided account ID * If validation fails, you'll receive a descriptive error message The `master_org_id` is automatically set to your organization ID. All Stripe operations for the tenant will use your master Stripe credentials with the tenant's account ID. At least one of `test_account_id` or `live_account_id` must be provided in the request. # Create Referral Code Source: https://docs.useautumn.com/api-reference/referrals/createReferralCode openapi POST /v1/referrals.create_code Create or fetch a referral code for a customer in a referral program. ### Body Parameters The unique identifier of the customer ID of your referral program ### Response The referral code that can be shared with customers Your unique identifier for the customer The timestamp of when the referral code was created ```json 200 theme={null} { "code": "", "customer_id": "", "created_at": 123 } ``` # Create Referral Program Source: https://docs.useautumn.com/api-reference/referrals/createReferralProgram openapi POST /v1/referral_programs.create Create a referral program linked to an existing reward. ### Body Parameters When the reward is granted: on redemption, or when the redeemer checks out. Who receives the reward: the referrer only, or both parties. A positive redemption limit, or null for unlimited redemptions. Required when redeem\_on is checkout. Plan IDs must be unique. Whether checkouts that start a trial should skip granting the reward. Address an existing referral program by its stable id. Omit when creating — the server generates one. ### Response The unique identifier for the referral program. The ID of the reward granted when a code is redeemed. When the reward is granted: on redemption, or when the redeemer checks out. Who receives the reward: the referrer only, or both parties. The maximum number of times a referral code can be redeemed. The plans whose checkout triggers the reward. Only used when redeem\_on is checkout. Whether checkouts that start a trial should skip granting the reward. The Unix timestamp (in milliseconds) when the referral program was created. ```json 200 theme={null} { "id": "refer_a_friend", "reward_id": "beta_credits_grant", "redeem_on": "customer_creation", "received_by": "referrer", "max_redemptions": 10, "plan_ids": null, "exclude_trial": false, "created_at": 1718000000000 } ``` # Delete Referral Program Source: https://docs.useautumn.com/api-reference/referrals/deleteReferralProgram openapi POST /v1/referral_programs.delete Delete a referral program. ### Body Parameters The ID of the referral program. ### Response ```json 200 theme={null} { "success": true } ``` # Get Referral Program Source: https://docs.useautumn.com/api-reference/referrals/getReferralProgram openapi POST /v1/referral_programs.get Fetch a referral program by ID. ### Body Parameters The ID of the referral program. ### Response The unique identifier for the referral program. The ID of the reward granted when a code is redeemed. When the reward is granted: on redemption, or when the redeemer checks out. Who receives the reward: the referrer only, or both parties. The maximum number of times a referral code can be redeemed. The plans whose checkout triggers the reward. Only used when redeem\_on is checkout. Whether checkouts that start a trial should skip granting the reward. The Unix timestamp (in milliseconds) when the referral program was created. ```json 200 theme={null} { "id": "refer_a_friend", "reward_id": "beta_credits_grant", "redeem_on": "customer_creation", "received_by": "referrer", "max_redemptions": 10, "plan_ids": null, "exclude_trial": false, "created_at": 1718000000000 } ``` # List Referral Programs Source: https://docs.useautumn.com/api-reference/referrals/listReferralPrograms openapi POST /v1/referral_programs.list List the referral programs configured for the org. ### Response The unique identifier for the referral program. The ID of the reward granted when a code is redeemed. When the reward is granted: on redemption, or when the redeemer checks out. Who receives the reward: the referrer only, or both parties. The maximum number of times a referral code can be redeemed. The plans whose checkout triggers the reward. Only used when redeem\_on is checkout. Whether checkouts that start a trial should skip granting the reward. The Unix timestamp (in milliseconds) when the referral program was created. ```json 200 theme={null} { "list": [ { "id": "refer_a_friend", "reward_id": "beta_credits_grant", "redeem_on": "customer_creation", "received_by": "referrer", "max_redemptions": 10, "plan_ids": null, "exclude_trial": false, "created_at": 1718000000000 } ] } ``` # Redeem Referral Code Source: https://docs.useautumn.com/api-reference/referrals/redeemReferralCode openapi POST /v1/referrals.redeem_code Redeem a referral code for a customer. ### Body Parameters The referral code to redeem The unique identifier of the customer redeeming the code ### Response The ID of the redemption event Your unique identifier for the customer The ID of the reward that will be granted ```json 200 theme={null} { "id": "", "customer_id": "", "reward_id": "" } ``` # Update Referral Program Source: https://docs.useautumn.com/api-reference/referrals/updateReferralProgram openapi POST /v1/referral_programs.update Update a referral program. Omitted fields keep their current value. ### Body Parameters The ID of the referral program. The ID of the reward granted when a code is redeemed. When the reward is granted: on redemption, or when the redeemer checks out. Who receives the reward: the referrer only, or both parties. A positive redemption limit. Omit to leave unchanged; null removes it. Required when redeem\_on is checkout. Plan IDs must be unique. Omit to leave unchanged; null removes them. Omit to leave unchanged; null removes it. ### Response The unique identifier for the referral program. The ID of the reward granted when a code is redeemed. When the reward is granted: on redemption, or when the redeemer checks out. Who receives the reward: the referrer only, or both parties. The maximum number of times a referral code can be redeemed. The plans whose checkout triggers the reward. Only used when redeem\_on is checkout. Whether checkouts that start a trial should skip granting the reward. The Unix timestamp (in milliseconds) when the referral program was created. ```json 200 theme={null} { "id": "refer_a_friend", "reward_id": "beta_credits_grant", "redeem_on": "customer_creation", "received_by": "referrer", "max_redemptions": 10, "plan_ids": null, "exclude_trial": false, "created_at": 1718000000000 } ``` # Create Reward Source: https://docs.useautumn.com/api-reference/rewards/createReward openapi POST /v1/rewards.create Create a coupon or feature grant. ### Body Parameters Provide exactly one of coupon or feature\_grant, not both. Use a positive integer length for months, and null for one\_off or forever. Plan IDs must be unique. Promo code values must be unique. Address an existing reward by its stable id. Omit when creating — the server generates one. Percentage discounts must be at most 100; fixed discounts must be positive. Provide exactly one of coupon or feature\_grant, not both. Feature IDs must be unique. A non-negative amount to grant, or null for boolean features. The unit of time the grant lasts. The positive integer count of periods before the grant expires. Promo code values must be unique. A positive redemption limit, or null for unlimited uses. Address an existing reward by its stable id. Omit when creating — the server generates one. ### Response The unique identifier for the coupon. A human-readable name for the coupon. The type of discount: percentage\_discount, fixed\_discount, or invoice\_credits. The discount value. A percentage for percentage\_discount, or an amount for fixed\_discount / invoice\_credits. How long the coupon applies once redeemed. The unit of time the duration is measured in. The number of `type` periods the duration lasts, or null when the type has no length (e.g. one\_off, forever). The plan IDs the coupon applies to, or null when it applies to all plans. The promo code customers enter to redeem the coupon. Maximum number of times this promo code can be redeemed across all customers, or null for unlimited. Whether this promo code can only be applied to a customer's first transaction. The Unix timestamp (in milliseconds) when the coupon was created. The unique identifier for the feature grant. A human-readable name for the feature grant. The feature ID this grant applies to. The amount of the feature granted, or null for boolean features. How long the granted amount lasts before expiring, or null for a permanent grant. The unit of time the grant lasts. The positive integer count of periods before the grant expires. The promo code customers enter to redeem the feature grant. Maximum number of times this promo code can be redeemed, or null for unlimited. The Unix timestamp (in milliseconds) when the feature grant was created. # Delete Reward Source: https://docs.useautumn.com/api-reference/rewards/deleteReward openapi POST /v1/rewards.delete Delete a coupon or feature grant. ### Body Parameters The ID of the coupon or feature grant. ### Response ```json 200 theme={null} { "success": true } ``` # Get Reward Source: https://docs.useautumn.com/api-reference/rewards/getReward openapi POST /v1/rewards.get Fetch a coupon or feature grant by ID. ### Body Parameters The ID of the coupon or feature grant. ### Response The unique identifier for the coupon. A human-readable name for the coupon. The type of discount: percentage\_discount, fixed\_discount, or invoice\_credits. The discount value. A percentage for percentage\_discount, or an amount for fixed\_discount / invoice\_credits. How long the coupon applies once redeemed. The unit of time the duration is measured in. The number of `type` periods the duration lasts, or null when the type has no length (e.g. one\_off, forever). The plan IDs the coupon applies to, or null when it applies to all plans. The promo codes customers can use to redeem the coupon. The promo code customers enter to redeem the coupon. Maximum number of times this promo code can be redeemed across all customers, or null for unlimited. Whether this promo code can only be applied to a customer's first transaction. The Unix timestamp (in milliseconds) when the coupon was created. The unique identifier for the feature grant. A human-readable name for the feature grant. The feature grants awarded when the grant is redeemed. The feature ID this grant applies to. The amount of the feature granted, or null for boolean features. How long the granted amount lasts before expiring, or null for a permanent grant. The unit of time the grant lasts. The positive integer count of periods before the grant expires. The promo codes customers can use to redeem the feature grant. The promo code customers enter to redeem the feature grant. Maximum number of times this promo code can be redeemed, or null for unlimited. The Unix timestamp (in milliseconds) when the feature grant was created. ```json 200 theme={null} { "coupon": { "id": "summer_sale", "name": "Summer Sale", "type": "percentage_discount", "value": 20, "duration": { "type": "months", "length": 3 }, "plan_ids": [ "pro", "starter" ], "promo_codes": [ { "code": "SUMMER20", "global_max_redemption": 100, "first_time_transaction": false } ], "created_at": 1718000000000 } } ``` # List Rewards Source: https://docs.useautumn.com/api-reference/rewards/listRewards openapi POST /v1/rewards.list List the coupons and feature grants configured for the org. ### Response The list of coupons configured for the organization. The unique identifier for the coupon. A human-readable name for the coupon. The type of discount: percentage\_discount, fixed\_discount, or invoice\_credits. The discount value. A percentage for percentage\_discount, or an amount for fixed\_discount / invoice\_credits. How long the coupon applies once redeemed. The unit of time the duration is measured in. The number of `type` periods the duration lasts, or null when the type has no length (e.g. one\_off, forever). The plan IDs the coupon applies to, or null when it applies to all plans. The promo codes customers can use to redeem the coupon. The promo code customers enter to redeem the coupon. Maximum number of times this promo code can be redeemed across all customers, or null for unlimited. Whether this promo code can only be applied to a customer's first transaction. The Unix timestamp (in milliseconds) when the coupon was created. The list of feature grants configured for the organization. The unique identifier for the feature grant. A human-readable name for the feature grant. The feature grants awarded when the grant is redeemed. The feature ID this grant applies to. The amount of the feature granted, or null for boolean features. How long the granted amount lasts before expiring, or null for a permanent grant. The unit of time the grant lasts. The positive integer count of periods before the grant expires. The promo codes customers can use to redeem the feature grant. The promo code customers enter to redeem the feature grant. Maximum number of times this promo code can be redeemed, or null for unlimited. The Unix timestamp (in milliseconds) when the feature grant was created. ```json 200 theme={null} { "coupons": [], "feature_grants": [] } ``` # Redeem Reward Code Source: https://docs.useautumn.com/api-reference/rewards/redeemRewardCode openapi POST /v1/rewards.redeem Redeem a reward promo code for a customer. ### Body Parameters The reward promo code to redeem The unique identifier of the customer redeeming the code ### Response The ID of the redeemed reward The feature balances granted to the customer The ID of the feature granted by the reward The balance granted for the feature ```json 200 theme={null} { "reward_id": "reward_789", "entitlements_granted": [ { "feature_id": "messages", "balance": 100 } ] } ``` # Update Reward Source: https://docs.useautumn.com/api-reference/rewards/updateReward openapi POST /v1/rewards.update Update a coupon or feature grant. Omitted fields keep their current value. ### Body Parameters The ID of the coupon or feature grant. Plan IDs must be unique. Null applies the coupon to all plans. Replaces the existing promo codes when provided. Replaces the existing grants when provided. How long the granted amount lasts before expiring, or null for a permanent grant. The unit of time the grant lasts. The positive integer count of periods before the grant expires. Replaces the existing promo codes when provided. ### Response The unique identifier for the coupon. A human-readable name for the coupon. The type of discount: percentage\_discount, fixed\_discount, or invoice\_credits. The discount value. A percentage for percentage\_discount, or an amount for fixed\_discount / invoice\_credits. How long the coupon applies once redeemed. The unit of time the duration is measured in. The number of `type` periods the duration lasts, or null when the type has no length (e.g. one\_off, forever). The plan IDs the coupon applies to, or null when it applies to all plans. The promo code customers enter to redeem the coupon. Maximum number of times this promo code can be redeemed across all customers, or null for unlimited. Whether this promo code can only be applied to a customer's first transaction. The Unix timestamp (in milliseconds) when the coupon was created. The unique identifier for the feature grant. A human-readable name for the feature grant. The feature ID this grant applies to. The amount of the feature granted, or null for boolean features. How long the granted amount lasts before expiring, or null for a permanent grant. The unit of time the grant lasts. The positive integer count of periods before the grant expires. The promo code customers enter to redeem the feature grant. Maximum number of times this promo code can be redeemed, or null for unlimited. The Unix timestamp (in milliseconds) when the feature grant was created. ```json 200 theme={null} { "feature_grant": { "id": "beta_credits_grant", "name": "Beta Tester Credits", "promo_codes": [ { "code": "BETA2024", "max_uses": 500 } ], "grants": [ { "feature_id": "credits", "included": 1000, "expiry": { "type": "month", "length": 1 } } ], "created_at": 1718000000000 } } ``` # Limit Reached Source: https://docs.useautumn.com/api-reference/webhooks/balancesLimitReached api/openapi.yml webhook balances.limit_reached Fired when a customer reaches the limit for a feature (included allowance, max purchase, spend limit, or a usage-limit billing control). ### Payload Fields The ID of the customer who hit the limit. The entity ID, if the limit was reached on a specific entity. The feature ID whose limit was reached. Which limit was hit: included allowance, max purchase cap, spend limit, or a usage-limit billing control. The filter of the usage limit that blocked, when a filtered cap was hit. The usage limit that blocked, with its live window. Present only when limit\_type is usage\_limit. Maximum units allowed per interval. Interval of the cap. Window alignment the cap was configured with. Units consumed in the current window, after this event. Units left in the current window, never below zero. Start of the current window, in milliseconds since epoch. End of the current window, in milliseconds since epoch. # Usage Alert Triggered Source: https://docs.useautumn.com/api-reference/webhooks/balancesUsageAlertTriggered api/openapi.yml webhook balances.usage_alert_triggered Fired when a customer crosses a configured usage alert threshold. ### Payload Fields The ID of the customer whose usage alert was triggered. The feature ID the alert applies to. The entity ID the alert applies to, if the usage was entity-scoped. Details of the usage alert that was triggered. User-defined label for the alert, if provided. The threshold value that was crossed. Whether the threshold is an absolute usage count or a percentage. What 100% meant for this alert. The balance the alert measured. Units consumed on the feature, after this event. Every grant on the feature: included, prepaid and rollover. Grants from plan allowances only. The alert's denominator minus usage. Clamped at zero for included and recurring; balance can go negative on overage. # Auto Top-Up Failed Source: https://docs.useautumn.com/api-reference/webhooks/billingAutoTopupFailed api/openapi.yml webhook billing.auto_topup_failed Fired when an automatic top-up is blocked, declined, or fails before granting additional prepaid balance. ### Payload Fields The ID of the customer whose auto top-up failed. The feature ID that Autumn attempted to auto top-up. Machine-readable reason the automatic top-up did not grant balance. The normalized amount of balance Autumn attempted to grant, when a matching auto top-up config was available. The configured balance threshold for the auto top-up, when available. The customer's remaining balance for the feature at the time the failure was detected, when available. Whether the auto top-up was configured to create a send\_invoice invoice instead of auto-charging. Sanitized provider or Autumn error metadata, when the failure came from an exception or declined charge. Machine-readable error code when one is available (for example, a Stripe or Autumn error code). Sanitized error message with details about why the auto top-up failed. Provider error type when one is available. Stripe decline code when the failure came from a card decline. # Auto Top-Up Succeeded Source: https://docs.useautumn.com/api-reference/webhooks/billingAutoTopupSucceeded api/openapi.yml webhook billing.auto_topup_succeeded Fired when an automatic top-up grants additional prepaid balance. ### Payload Fields The ID of the customer whose balance was topped up. The feature ID that was automatically topped up. The normalized amount of balance granted by the top-up. The configured balance threshold that triggered the top-up. The customer's remaining balance for the feature after the top-up. Whether the auto top-up created a send\_invoice invoice instead of auto-charging. The invoice created for the auto top-up. The Stripe invoice ID. Use this as a stable dedupe key. The status of the invoice. "paid" for auto-charged top-ups; "open" for invoice-mode top-ups where credits were granted but the invoice has not yet been paid. The total amount of the invoice in the smallest currency unit (e.g. cents for USD), matching Stripe's invoice.total. The ISO currency code for the invoice. URL to the hosted invoice page, if available. # Plans Updated Source: https://docs.useautumn.com/api-reference/webhooks/billingUpdated api/openapi.yml webhook billing.updated Fired when a customer's plans change — activated, scheduled, updated, or expired. Each event carries a `plan_changes` array describing what happened and a `tags` array (e.g. `trial_ended`, `phase_changed`) describing why. ### Payload Fields The ID of the customer whose plans changed. The ID of the entity, if the changes are scoped to a specific entity. The plans that were activated, scheduled, updated, or expired. The ID of the entity this plan is scoped to, or null when the plan is customer-level. A single event can carry changes for several entities. The lifecycle action applied to this plan: activated (newly active on the customer), scheduled (queued for a future start), updated (mutated in place), or expired (ended). The subscription as it stands after this change. Present when the plan is billed as a recurring subscription. The ID of the customer plan. The current status of the subscription on the customer. Whether the subscription has overdue payments. When the subscription started, in milliseconds since the Unix epoch. When the subscription was canceled, in milliseconds since the Unix epoch, or null if not canceled. When the subscription ends, in milliseconds since the Unix epoch, or null if no expiry is set. When the trial ends, in milliseconds since the Unix epoch. Null when not actively trialing. Start of the current billing period, or null if not applicable. End of the current billing period, or null if not applicable. The purchase as it stands after this change. Present when the plan is a one-off purchase. The ID of the customer plan. The current status of the purchase on the customer. When the purchase ends, in milliseconds since the Unix epoch, or null if no expiry is set. Sparse map of lifecycle scalar fields whose values changed, holding their previous values. Null when the plan is newly activated or scheduled, or when no lifecycle field changed. The current status of the subscription on the customer. Whether the subscription has overdue payments. When the subscription was canceled, in milliseconds since the Unix epoch, or null if not canceled. When the subscription ends, in milliseconds since the Unix epoch, or null if no expiry is set. When the trial ends, in milliseconds since the Unix epoch. Null when not actively trialing. Content-level change to the plan definition for this customer plan (items, base price, free trial). The plan after the change. Omitted unless the caller expands it. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Sparse map of scalar plan fields that changed, holding their previous values. Null when the plan is new. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Whether this is the active version of the plan. At most one version is active. Whether the plan is archived. Archived plans cannot be attached to new customers. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Previous payment processors when they changed. Null when the plan had none. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. The base plan this variant pointed at before this update re-anchored it. Null when it was standalone. The base row version this variant pointed at before this update. Null when it was standalone. The base row version slug this variant pointed at before this update. Null when it was standalone. Previous free trial when it changed. Null when the plan had none. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Sparse previous billing\_controls — only keys that changed. Null when unset; a null lane was unset before. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Present when the plan's price changed. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. The plan's price after the change. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Present when the plan's free trial changed. The plan's free trial before the change. Null when none. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. The plan's free trial after the change. Null when none. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Feature items added to or removed from the plan. Whether the item was added to or removed from the plan. The ID of the feature that was added or removed. The plan item snapshot that was added or removed. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Params that would transform the previous plan into the current one, including license upserts/removes. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. planLicenses created or overridden. Same shape as customize.upsert\_licenses / licenses\[] entries. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. planLicenses dropped from this plan. planLicenses created, updated, or removed on this plan. Omitted when none. Nested plan\_change is core-only. The plan offered as a license under this plan. The exact license-plan version pinned by this link. Version slug of the license-plan row this link points at. Number of license assignments included with this plan for free. Arbitrary key-value metadata defined by you on this link. The effective plan for this license link — the pinned version, with the link's customize applied. Present when license plans are expanded. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. created = new planLicense; updated = row or effective content changed; removed = dropped. Previous included / prepaid\_only / version. Null when created or removed, or when no row scalar changed. The exact license-plan version pinned by this link. Version slug of the license-plan row this link points at. Number of license assignments included with this plan for free. Diff of the license's effective plan. Null when created, removed, or the effective content is unchanged. The plan after the change. Omitted unless the caller expands it. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Version number of the plan. Incremented when plan configuration changes. User-facing version identity. Defaults to v\{n} when the version is minted. Whether this is the active version of the plan. At most one version is active. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Feature configurations included in this plan. Each item defines included units, pricing, and reset behavior for a feature. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Payment processors this plan is connected to. Omitted when unset. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. Free trial configuration. If set, new customers can try this plan before being charged. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Unix timestamp (ms) when the plan was created. Environment this plan belongs to ('sandbox' or 'live'). Whether the plan is archived. Archived plans cannot be attached to new customers. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Plan-level billing controls used as customer defaults. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Whether the trial on this plan is available to this customer. For example, if the customer used the trial in the past, this will be false. The customer's current status with this plan. 'active' if attached, 'scheduled' if pending activation. Whether the customer's active instance of this plan is set to cancel. Whether the customer is currently on a free trial of this plan. The action that would occur if this plan were attached to the customer. Deprecated. Use variant\_details.base\_plan\_id instead. If this is a variant, the ID of the base plan it was created from. Details about how this variant relates to its latest base plan. The ID of the base plan this variant was derived from. The customization that transforms the base plan into this variant. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. License links to drop, keyed by license\_plan\_id. Parallel to remove\_items. Sparse map of scalar plan fields that changed, holding their previous values. Null when the plan is new. Unique identifier for the plan. Display name of the plan. Optional description of the plan. Group identifier for organizing related plans. Plans in the same group are mutually exclusive. Whether this is an add-on plan that can be attached alongside a main plan. If true, this plan is automatically attached when a customer is created. Used for free plans. Miscellaneous plan-level configuration flags. If true, entitlements attached to this plan will still reset on schedule even when the customer's product is in a past\_due state. Whether this is the active version of the plan. At most one version is active. Whether the plan is archived. Archived plans cannot be attached to new customers. Arbitrary key-value metadata defined by you for your own use. Shared across all versions of the plan. Previous payment processors when they changed. Null when the plan had none. Stripe product ID this plan is billed under. Extra Stripe product IDs aliased to this plan. Every RevenueCat product that maps to this plan. Replaces the current set. RevenueCat product ID that grants this plan when purchased. Prepaid quantities granted when this specific RevenueCat product is purchased, in feature units. The base plan this variant pointed at before this update re-anchored it. Null when it was standalone. The base row version this variant pointed at before this update. Null when it was standalone. The base row version slug this variant pointed at before this update. Null when it was standalone. Previous free trial when it changed. Null when the plan had none. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Sparse previous billing\_controls — only keys that changed. Null when unset; a null lane was unset before. List of auto top-up configurations per feature. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. List of overage spend limits per feature (caps overage spend). Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. List of hard usage caps per feature (max units per interval). The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. List of usage alert configurations per feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. List of overage allowed controls per feature. When enabled, usage can exceed balance. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. Present when the plan's price changed. Base recurring price for the plan. Null for free plans or usage-only plans. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. The plan's price after the change. Base price amount for the plan, in major currency units (e.g. dollars). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Billing interval (e.g. 'month', 'year'). Number of intervals per billing cycle. Defaults to 1. Display text for showing this price in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Payment processors this base price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Present when the plan's free trial changed. The plan's free trial before the change. Null when none. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. The plan's free trial after the change. Null when none. Number of duration\_type periods the trial lasts. Unit of time for the trial duration ('day', 'month', 'year'). Whether a payment method is required to start the trial. If true, customer will be charged after trial ends. Behavior when the trial ends. 'bill' charges the customer (default). 'revert' expires the trial and restores the customer's previous plan. Feature items added to or removed from the plan. Whether the item was added to or removed from the plan. The ID of the feature that was added or removed. The plan item snapshot that was added or removed. Bills this many feature units when outstanding overage reaches it. The ID of the feature this item configures. The full feature object if expanded. The ID of the feature, used to refer to it in other API calls like /track or /check. The name of the feature. The type of the feature Singular and plural display names for the feature. The singular display name for the feature. The plural display name for the feature. Credit cost schema for credit system features. The ID of the metered feature (should be a single\_use feature). The credit cost of the metered feature. Whether or not the feature is archived. Number of free units included. For consumable features, balance resets to this number each interval. Whether the customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Null for non-consumable features like seats where usage persists across billing cycles. The interval at which the feature balance resets (e.g. 'month', 'year'). For consumable features, usage resets to 0 and included units are restored. Number of intervals between resets. Defaults to 1. Pricing configuration for usage beyond included units. Null if feature is entirely free. Price per billing\_units after included usage is consumed. Mutually exclusive with tiers. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers' (tiered prices carry per-currency amounts on each tier). Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing configuration. Each tier's 'to' INCLUDES the included amount. Either 'tiers' or 'amount' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval for this price. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Number of units per price increment. Usage is rounded UP to the nearest billing\_units when billed (e.g. billing\_units=100 means 101 usage rounds to 200). 'prepaid' for features like seats where customers pay upfront, 'usage\_based' for pay-as-you-go after included usage. Maximum units a customer can purchase beyond included. E.g. if included=100 and max\_purchase=300, customer can use up to 400 total before usage is capped. Null for no limit. Payment processors this item price is connected to. Omitted when unset. Stripe price ID. For prepaid with included > 0 this is the V2 price. Display text for showing this item in pricing pages. Main display text (e.g. '\$10' or '100 messages'). Secondary display text (e.g. 'per month' or 'then \$0.5 per 100'). Rollover configuration for unused units. If set, unused included units roll over to the next period. Maximum rollover units. Null for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Params that would transform the previous plan into the current one. Omitted when nothing customizable changed. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Items to add to the plan. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Filters selecting items to remove from the plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count. Match items whose grant equals this included usage. Omitted is a wildcard. Free trial configuration for a plan. Number of duration\_type periods the trial lasts. Unit of time for the trial ('day', 'month', 'year'). If true, a payment method is required to start the trial and the customer is charged when it ends. Defaults to false. Override the plan's billing controls (auto top-ups, spend limits, usage limits, usage alerts, overage allowed) for this customer. The ID of the feature (credit balance) to auto top-up. Whether auto top-up is enabled. When the balance drops below this threshold, an auto top-up will be purchased. Amount of credits to add per auto top-up. Optional rate limit to cap how often auto top-ups occur. Pass count to set the current window's consumed top-ups. The time interval for the purchase limit window. Number of intervals in the purchase limit window. Maximum number of auto top-ups allowed within the interval. Set the current window's consumed auto top-up count. Omit to leave runtime state unchanged. When true, auto top-up creates a send\_invoice invoice instead of auto-charging. Optional feature ID this spend limit applies to. Whether the overage spend limit is enabled. How overage\_limit is interpreted: an absolute overage cap (default) or a percentage of the main-plan allowance. Overage cap for the feature: absolute units, or a percent (e.g. 120) when limit\_type is usage\_percentage. When true, overage for this feature is not posted to Stripe. Usage tracking and balance resets still behave normally. The feature this usage limit applies to. Whether this usage limit is enabled. Maximum units allowed per interval. Interval for the cap, aligned to the customer's billing cycle. Window alignment. 'billing\_cycle' phases the interval to the customer's renewal time; 'utc' aligns to the UTC calendar. When set, only usage from events whose properties match counts toward this cap. Omit to count all usage of the feature. The feature ID this alert applies to. Whether this usage alert is enabled. The threshold value that triggers the alert. For usage or remaining, this is an absolute count. For usage\_percentage or remaining\_percentage, this is a percentage (0-100). Whether the threshold is an absolute count or a percentage of the usage allowance or remaining balance. What 100% means. balance: every grant on the feature. included: the plan allowance only. recurring: grants that reset. usage\_limit: the cap of the usage limit with the same feature and filter. Only valid with basis usage\_limit. Points the alert at the usage limit carrying the same filter. Optional user-defined label to distinguish multiple alerts on the same feature. The feature ID this overage allowed control applies to. Whether overage is allowed for this feature. License links to add or override for this customer, keyed by license\_plan\_id. Omitted fields inherit the plan catalog link (included defaults to 1 when the license is not in the catalog). A bare entry restores the license to pure catalog inheritance. Base price configuration for a plan. Base price amount for the plan, in major currency units (e.g. dollars). Billing interval (e.g. 'month', 'year'). Base price amounts in additional currencies. The base 'amount' is in the org's default currency. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Bills this many feature units when outstanding overage reaches it. The ID of the feature to configure. Number of free units included. Balance resets to this each interval for consumable features. If true, customer has unlimited access to this feature. Whether entity-level grants contribute to a shared customer balance. Reset configuration for consumable features. Omit for non-consumable features like seats. Interval at which balance resets (e.g. 'month', 'year'). For consumable features only. Pricing for usage beyond included units. Omit for free features. Price per billing\_units after included usage. Either 'amount' or 'tiers' is required. Amounts in additional currencies for this flat price. The base 'amount' is in the org's default currency. Only valid with 'amount', not 'tiers'. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Price amount in this currency. Set explicitly per currency, not converted from the base amount. Tiered pricing. Either 'amount' or 'tiers' is required. Three-letter Stripe-supported currency code (e.g. 'eur', 'gbp'). Per-unit amount for this tier in this currency. Flat amount for this tier in this currency, if the tier uses one. Billing interval. For consumable features, should match reset.interval. Number of intervals per billing cycle. Defaults to 1. Units per price increment. Usage is rounded UP when billed (e.g. billing\_units=100 means 101 rounds to 200). 'prepaid' for upfront payment (seats), 'usage\_based' for pay-as-you-go. Max units purchasable beyond included. E.g. included=100, max\_purchase=300 allows 400 total. Null for no limit. Proration settings for prepaid features. Controls mid-cycle quantity change billing. Billing behavior when quantity increases mid-cycle. Credit behavior when quantity decreases mid-cycle. Rollover config for unused units. If set, unused included units carry over. Max rollover units. Omit for unlimited rollover. Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. When rolled over units expire. Number of periods before expiry. Purchased units expire this long after each purchase. One-off prepaid consumable items only. Overrides fields of this item's feature for customers on this plan (e.g. a credit system's credit\_schema). For credit system features: replaces the feature's credit\_schema entirely for customers on this plan. ID of the metered feature that draws from this credit system. Number of metered-feature units priced together. Defaults to one when omitted. Named rates chosen by event properties. The most specific match sets the rate; with no match the item's own rate applies. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Breaks ties between dimensions that match the same number of keys. Higher wins. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Named adjustments chosen by event properties. Every match applies: factors multiply, then adds are summed. Event properties this entry applies to. Every key must equal the tracked property, compared as strings. Multiplies the matched rate. All matching multipliers stack. Added to the rate after every factor is applied, in credits per billing-unit group. Inclusive upper usage boundary for this graduated tier. The final tier must be 'inf'. Credits consumed per billing-unit group within this tier. Credits consumed per billing-unit group. For AI credit system features: replaces the feature's markup chain entirely for customers on this plan. An unset level means no markup at that level rather than inheriting the feature's. Default percentage markup for customers on this plan. Use -100 to make usage free. Per-provider markup percentages for customers on this plan. Per-model markup overrides for customers on this plan. Match items linked to this feature. Match items with this billing method (prepaid or usage\_based). Match items with this interval. Accepts either a BillingInterval (price-side) or a ResetInterval (reset-side, includes day/hour/minute) so price-less items keyed by reset.interval can be disambiguated. Match items with this interval\_count. Disambiguates between items that share an interval but differ in count.