# Autumn - [Welcome to Autumn](https://docs.useautumn.com/welcome.md): Drop-in, open-source control layer for AI and SaaS monetization. - [How It Works](https://docs.useautumn.com/documentation/concepts/overview.md): How features, plans, subscriptions and balances fit together - [Plans](https://docs.useautumn.com/documentation/concepts/plans.md): Learn about plans in Autumn and how to create them - [Features](https://docs.useautumn.com/documentation/concepts/features.md): Learn about features in Autumn and how to create them - [Plan Items](https://docs.useautumn.com/documentation/concepts/plan-items.md): Configure what customers get access to when they purchase a plan - [Subscriptions](https://docs.useautumn.com/documentation/concepts/subscriptions.md): How Autumn manages customer subscriptions - [Balances](https://docs.useautumn.com/documentation/concepts/balances.md): Understanding how feature balances work in Autumn - [Stripe Sync](https://docs.useautumn.com/documentation/concepts/stripe.md): How Autumn creates and manages Stripe objects under the hood - [Migrating to Autumn](https://docs.useautumn.com/documentation/getting-started/migration.md): How to migrate your existing Stripe customers to Autumn - [MCP Server](https://docs.useautumn.com/documentation/mcp.md): Connect Autumn's MCP server to AI assistants for billing actions, plan management, and request-log investigations. - [Setup and payments](https://docs.useautumn.com/documentation/getting-started/setup.md): Implement your app's payments and pricing model - [Checking and tracking](https://docs.useautumn.com/documentation/getting-started/gating.md): Give customers access to the right features and limits based on their plan - [Build your billing page](https://docs.useautumn.com/documentation/getting-started/display-billing.md): Display usage and billing data in your app for your users - [Deploy to production](https://docs.useautumn.com/documentation/getting-started/deploy.md): A checklist to go live with confidence - [Recurring Plans](https://docs.useautumn.com/documentation/modelling-pricing/recurring.md): Grant customers a recurring allowance of consumable features like messages, credits, or API calls - [Plan Variants](https://docs.useautumn.com/documentation/modelling-pricing/plan-variants.md): Group related plans under one base plan and keep their differences small - [One-Off Purchases](https://docs.useautumn.com/documentation/modelling-pricing/one-off-purchases.md): Configure one-time purchases and lifetime plans - [Free Plans](https://docs.useautumn.com/documentation/modelling-pricing/free-plans.md): Offer free tiers with usage limits to onboard customers - [Credit Systems](https://docs.useautumn.com/documentation/modelling-pricing/credit-systems.md): Learn how to create a credit system in Autumn - [Prepaid Pricing](https://docs.useautumn.com/documentation/modelling-pricing/prepaid-pricing.md): Charge customers upfront for a quantity of a feature, and draw from it as usage occurs - [Usage-Based Pricing](https://docs.useautumn.com/documentation/modelling-pricing/usage-based-pricing.md): Bill customers based on actual usage at the end of each billing period - [Per-Unit Pricing](https://docs.useautumn.com/documentation/modelling-pricing/per-unit-pricing.md): Charge customers based on the number of units they use, such as seats or workspaces - [Rollovers](https://docs.useautumn.com/documentation/modelling-pricing/rollovers.md): Allow unused balances to carry over to the next billing period - [Proration](https://docs.useautumn.com/documentation/modelling-pricing/proration.md): Handle mid-cycle plan changes with prorated billing - [Trials](https://docs.useautumn.com/documentation/modelling-pricing/trials.md): Let customers try paid plans before committing - [Auto Top-Ups](https://docs.useautumn.com/documentation/modelling-pricing/auto-top-ups.md): Automatically replenish customer balances when they run low - [Spend Limits & Usage Alerts](https://docs.useautumn.com/documentation/modelling-pricing/spend-limits.md): Cap overage spending and get notified when usage crosses thresholds - [Add-Ons](https://docs.useautumn.com/documentation/modelling-pricing/add-ons.md): Offer additional plans and features customers can purchase alongside their plan - [Graduated Pricing](https://docs.useautumn.com/documentation/modelling-pricing/graduated-pricing.md): Set tiered pricing where different usage ranges are charged at different rates - [Volume-Based Tiers](https://docs.useautumn.com/documentation/modelling-pricing/volume-based-tiers.md): Charge a single rate based on the total volume of usage - [Entity Plans](https://docs.useautumn.com/documentation/modelling-pricing/entity-plans.md): Give users, workspaces, or projects their own plans and balances under a parent customer - [Rewards and Referrals](https://docs.useautumn.com/documentation/modelling-pricing/rewards.md): Learn how to use rewards and referrals to incentivize your customers. - [Payment Flow](https://docs.useautumn.com/documentation/customers/payment-flow.md): Hosted checkout pages vs building your own payment flow - [Subscription Lifecycle](https://docs.useautumn.com/documentation/customers/subscription-lifecycle.md): Handle upgrades, downgrades, and cancellations - [Updating Subscriptions](https://docs.useautumn.com/documentation/customers/updating-subscriptions.md): Modify existing subscriptions - update quantities, cancel, or customize - [Custom Plans](https://docs.useautumn.com/documentation/customers/custom-plans.md): Create one-off plan variations for individual customers - [Versioning Plans](https://docs.useautumn.com/documentation/customers/versioning.md): How to update and migrate customers between product versions - [Billing Reliability](https://docs.useautumn.com/documentation/customers/edge-cases.md): How Autumn handles 3DS, payment failures, and other uncommon states - [Creating Customers](https://docs.useautumn.com/documentation/customers/creating-customers.md): Create customers via API or dashboard, link to Stripe, and pre-create for enterprise deals - [Managing Customers](https://docs.useautumn.com/documentation/customers/managing-customers.md): Learn how to view and manage customer information in Autumn - [Checking access](https://docs.useautumn.com/documentation/customers/check.md): Learn how to check feature access with the `check` endpoint - [Tracking usage](https://docs.useautumn.com/documentation/customers/tracking-usage.md): Keep track of your customer's feature usage with the `track` route - [Balance Locking](https://docs.useautumn.com/documentation/customers/balance-locking.md): Reserve balance upfront with locks, then confirm or release when the operation completes - [Managing Balances](https://docs.useautumn.com/documentation/customers/managing-balances.md): Create, update, and manage balances via the dashboard or API - [Billing Controls](https://docs.useautumn.com/documentation/customers/billing-controls.md): Configure overage behavior, spend limits, usage alerts, and auto top-ups per customer or entity - [Entities](https://docs.useautumn.com/documentation/customers/feature-entities.md): Learn how to use feature entities to track balances per separate entity, such as a user or a workspace - [Webhooks](https://docs.useautumn.com/documentation/webhooks.md): Receive real-time notifications when customer billing events occur - [Slack and Discord Notifications](https://docs.useautumn.com/documentation/slack-discord-notifications.md): Send Autumn webhook events to Slack or Discord channels with rich, formatted messages using Svix transformations. - [Fail-Open Defaults](https://docs.useautumn.com/documentation/fail-open.md): Keep your app running even when Autumn is unreachable - [Rate Limits](https://docs.useautumn.com/documentation/rate-limits.md): Default API rate limits and how to request increases - [Vercel AI SDK](https://docs.useautumn.com/documentation/external-providers/ai-sdk.md): Automatically track AI token usage with the Vercel AI SDK - [OpenRouter](https://docs.useautumn.com/documentation/external-providers/openrouter.md): Automatically track AI token usage with the OpenRouter SDK - [RevenueCat](https://docs.useautumn.com/documentation/external-providers/revenuecat.md): Integrate Autumn with RevenueCat for mobile app billing - [Vercel Marketplace](https://docs.useautumn.com/documentation/external-providers/vercel-marketplace.md): Set up the Vercel Marketplace integration in Autumn - [Lakehouse Overview](https://docs.useautumn.com/documentation/lakehouse/overview.md): Query your full Autumn dataset directly from your own data warehouse. - [Connecting](https://docs.useautumn.com/documentation/lakehouse/connecting.md): Attach ClickHouse or BigQuery to your Autumn Lakehouse catalog. - [Schema Reference](https://docs.useautumn.com/documentation/lakehouse/schema.md): Every Lakehouse table and column, with the keys to join on. - [Working with balances](https://docs.useautumn.com/documentation/lakehouse/balance-semantics.md): What v2_3_balances, v2_3_breakdowns, and v2_3_rollovers actually mean — and how to reconstruct the figures the API and dashboard show. - [Working with invoices](https://docs.useautumn.com/documentation/lakehouse/working-with-invoices.md): Revenue, and paying-customer metrics — the rows to drop and the column that actually carries truth. - [Querying](https://docs.useautumn.com/documentation/lakehouse/querying.md): How to address tables, convert types, join, and avoid footguns. - [Monetary credits](https://docs.useautumn.com/examples/monetary-credits.md): Grant your users a currency-based balance of credits, that various features can draw from - [One-time top ups](https://docs.useautumn.com/examples/prepaid.md): Let customers purchase a prepaid package to top up their balance when it falls low. - [Per-seat pricing](https://docs.useautumn.com/examples/per-seat.md): Implement per-seat pricing with free included seats and paid additional seats - [Pay-as-you-go overages](https://docs.useautumn.com/examples/pay-as-you-go-overages.md): Let free plan users optionally add a card to pay for usage overages instead of getting blocked - [Entity-level balances](https://docs.useautumn.com/examples/entity-balances.md): Grant usage limits per entity, such as 50 credits per user per month - [Trial - card required](https://docs.useautumn.com/examples/trial-card-required.md): Enable a trial period where customers must provide payment information upfront. - [Trial - card not required](https://docs.useautumn.com/examples/trial-card-not-required.md): Enable a trial period that customers can access without providing payment information - [Getting started](https://docs.useautumn.com/cli/getting-started.md): Install the CLI, authenticate, and sync your pricing config - [Configuration reference](https://docs.useautumn.com/cli/config.md): Define features, plans, and pricing in autumn.config.ts - [Command reference](https://docs.useautumn.com/cli/commands.md): All available atmn CLI commands and flags - [Attach](https://docs.useautumn.com/api-reference/billing/attach.md): Attaches a plan to a customer. Handles new subscriptions, upgrades and downgrades. - [Update Subscription](https://docs.useautumn.com/api-reference/billing/billingUpdate.md): Updates an existing subscription. Use to modify feature quantities, cancel, or change plan configuration. - [Preview Attach](https://docs.useautumn.com/api-reference/billing/previewAttach.md): Previews the billing changes that would occur when attaching a plan, without actually making any changes. - [Preview Update](https://docs.useautumn.com/api-reference/billing/previewUpdate.md): Previews the billing changes that would occur when updating a subscription, without actually making any changes. - [Open Customer Portal](https://docs.useautumn.com/api-reference/billing/openCustomerPortal.md): Create a billing portal session for a customer to manage their subscription. - [Setup Payment](https://docs.useautumn.com/api-reference/billing/setupPayment.md): Create a payment setup session for a customer to add or update their payment method. - [Preview Multi Attach](https://docs.useautumn.com/api-reference/billing/previewMultiAttach.md): Previews the billing changes that would occur when attaching multiple plans, without actually making any changes. - [Multi Attach](https://docs.useautumn.com/api-reference/billing/multiAttach.md): Attaches multiple plans to a customer in a single request. Creates a single Stripe subscription with all plans consolidated. - [Preview Multi Update](https://docs.useautumn.com/api-reference/billing/previewMultiUpdate.md): Previews the billing changes of a multi-plan update without making any changes. Returns one core preview per affected subscription. - [Multi Update](https://docs.useautumn.com/api-reference/billing/multiUpdate.md): 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. - [Create Schedule](https://docs.useautumn.com/api-reference/billing/createSchedule.md): Creates a multi-phase subscription schedule for a customer. The first phase starts immediately and subsequent phases automatically transition at their scheduled start times. - [Import](https://docs.useautumn.com/api-reference/billing/import.md): Image a customer into Autumn for live migration. Read-only against processors. - [Attach License](https://docs.useautumn.com/api-reference/licenses/attachLicense.md): Assigns licenses to one or more entities. - [Release License](https://docs.useautumn.com/api-reference/licenses/releaseLicense.md): Releases licenses assigned to one or more entities. - [List Licenses](https://docs.useautumn.com/api-reference/licenses/listLicenses.md): Lists a customer's license pools and available seats. - [List License Assignments](https://docs.useautumn.com/api-reference/licenses/listLicenseAssignments.md): Lists license assignments for a customer. - [Check Permissions](https://docs.useautumn.com/api-reference/core/check.md): Checks whether a customer currently has enough balance to use a feature. - [Track Usage](https://docs.useautumn.com/api-reference/core/track.md): Records usage for a customer feature and returns updated balances. - [Track Token Usage](https://docs.useautumn.com/api-reference/balances/trackTokens.md): Records AI token usage for a customer and returns the updated AI credit balance. - [Batch Track Usage](https://docs.useautumn.com/api-reference/core/batchTrack.md): 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 202 immediately and does not include balance information. On partial enqueue failure (some item… - [Create Balance](https://docs.useautumn.com/api-reference/balances/createBalance.md): Create a balance for a customer feature. - [Update Balance](https://docs.useautumn.com/api-reference/balances/updateBalance.md): Update a customer balance. - [Delete Balance](https://docs.useautumn.com/api-reference/balances/deleteBalance.md): 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). - [Finalize Lock](https://docs.useautumn.com/api-reference/balances/finalizeLock.md): Finalize a previously locked balance. Use 'confirm' to commit the deduction, or 'release' to return the held balance. - [Get or Create Customer](https://docs.useautumn.com/api-reference/customers/getOrCreateCustomer.md): Creates a customer if they do not exist, or returns the existing customer by your external customer ID. - [Get Customer](https://docs.useautumn.com/api-reference/customers/getCustomer.md): Fetches a customer by ID, optionally expanding related data such as invoices or entities. - [List Customers](https://docs.useautumn.com/api-reference/customers/listCustomers.md): 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. - [Update Customer](https://docs.useautumn.com/api-reference/customers/updateCustomer.md): Updates an existing customer by ID. - [Delete Customer](https://docs.useautumn.com/api-reference/customers/deleteCustomer.md): Deletes a customer by ID. - [Insert Invoices](https://docs.useautumn.com/api-reference/invoices/insertInvoices.md): Inserts or updates up to 500 historical invoices without reading or mutating the billing processor. - [List Invoices](https://docs.useautumn.com/api-reference/invoices/listInvoices.md): 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. - [Pay Invoice](https://docs.useautumn.com/api-reference/invoices/payInvoice.md): 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. - [Mint](https://docs.useautumn.com/api-reference/keys/mintKey.md): 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. - [Refresh](https://docs.useautumn.com/api-reference/keys/refreshKey.md): 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. - [Revoke](https://docs.useautumn.com/api-reference/keys/revokeKey.md): Revokes every outstanding token (access and refresh) for a customer. Authenticated with your secret key. New tokens can be issued afterwards with `keys.mint`. - [List Events](https://docs.useautumn.com/api-reference/events/listEvents.md): List usage events for your organization. Filter by customer, feature, or time range. - [Aggregate Events](https://docs.useautumn.com/api-reference/events/aggregateEvents.md): Aggregate usage events by time period. Returns usage totals grouped by feature and optionally by a custom property. - [Get Entity](https://docs.useautumn.com/api-reference/entities/getEntity.md): Fetches an entity by its ID. - [List Entities](https://docs.useautumn.com/api-reference/entities/listEntities.md): Lists entities across the organization with pagination and optional filters. - [Create Entity](https://docs.useautumn.com/api-reference/entities/createEntity.md): Creates an entity for a customer and feature, then returns the entity with balances and subscriptions. - [Update Entity](https://docs.useautumn.com/api-reference/entities/updateEntity.md): Updates an existing entity and returns the refreshed entity object. - [Delete Entity](https://docs.useautumn.com/api-reference/entities/deleteEntity.md): Deletes an entity by entity ID. - [Get a plan](https://docs.useautumn.com/api-reference/plans/getPlan.md): Retrieves a single plan by its ID. - [List all plans](https://docs.useautumn.com/api-reference/plans/listPlans.md): Lists all plans in the current environment. - [Create a plan](https://docs.useautumn.com/api-reference/plans/createPlan.md): Creates a new plan with optional base price and feature configurations. - [Update a plan](https://docs.useautumn.com/api-reference/plans/updatePlan.md): Updates an existing plan. Creates a new version unless `disableVersion` is set. - [Delete a plan](https://docs.useautumn.com/api-reference/plans/deletePlan.md): Deletes a plan by its ID. - [Get Feature](https://docs.useautumn.com/api-reference/features/getFeature.md): Retrieves a single feature by its ID. - [List Features](https://docs.useautumn.com/api-reference/features/listFeatures.md): Lists all features in the current environment. - [Create Feature](https://docs.useautumn.com/api-reference/features/createFeature.md): Creates a new feature. - [Update Feature](https://docs.useautumn.com/api-reference/features/updateFeature.md): Updates an existing feature. - [Delete Feature](https://docs.useautumn.com/api-reference/features/deleteFeature.md): Deletes a feature by its ID. - [Create Referral Program](https://docs.useautumn.com/api-reference/referrals/createReferralProgram.md): Create a referral program linked to an existing reward. - [List Referral Programs](https://docs.useautumn.com/api-reference/referrals/listReferralPrograms.md): List the referral programs configured for the org. - [Get Referral Program](https://docs.useautumn.com/api-reference/referrals/getReferralProgram.md): Fetch a referral program by ID. - [Update Referral Program](https://docs.useautumn.com/api-reference/referrals/updateReferralProgram.md): Update a referral program. Omitted fields keep their current value. - [Delete Referral Program](https://docs.useautumn.com/api-reference/referrals/deleteReferralProgram.md): Delete a referral program. - [Create Referral Code](https://docs.useautumn.com/api-reference/referrals/createReferralCode.md): Create or fetch a referral code for a customer in a referral program. - [Redeem Referral Code](https://docs.useautumn.com/api-reference/referrals/redeemReferralCode.md): Redeem a referral code for a customer. - [Create Reward](https://docs.useautumn.com/api-reference/rewards/createReward.md): Create a coupon or feature grant. - [List Rewards](https://docs.useautumn.com/api-reference/rewards/listRewards.md): List the coupons and feature grants configured for the org. - [Get Reward](https://docs.useautumn.com/api-reference/rewards/getReward.md): Fetch a coupon or feature grant by ID. - [Update Reward](https://docs.useautumn.com/api-reference/rewards/updateReward.md): Update a coupon or feature grant. Omitted fields keep their current value. - [Delete Reward](https://docs.useautumn.com/api-reference/rewards/deleteReward.md): Delete a coupon or feature grant. - [Redeem Reward Code](https://docs.useautumn.com/api-reference/rewards/redeemRewardCode.md): Redeem a reward promo code for a customer. - [Usage Alert Triggered](https://docs.useautumn.com/api-reference/webhooks/balancesUsageAlertTriggered.md): Fired when a customer crosses a configured usage alert threshold. - [Limit Reached](https://docs.useautumn.com/api-reference/webhooks/balancesLimitReached.md): Fired when a customer reaches the limit for a feature (included allowance, max purchase, spend limit, or a usage-limit billing control). - [Auto Top-Up Failed](https://docs.useautumn.com/api-reference/webhooks/billingAutoTopupFailed.md): Fired when an automatic top-up is blocked, declined, or fails before granting additional prepaid balance. - [Auto Top-Up Succeeded](https://docs.useautumn.com/api-reference/webhooks/billingAutoTopupSucceeded.md): Fired when an automatic top-up grants additional prepaid balance. - [Plans Updated](https://docs.useautumn.com/api-reference/webhooks/billingUpdated.md): 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. - [Invoice Finalized](https://docs.useautumn.com/api-reference/webhooks/invoiceFinalized.md): Fired when a Stripe invoice is finalized and its line items have been reconciled. The body is the invoice as returned by `invoices.list`, with `items` populated and each item carrying a per-entity `entities` breakdown. - [Resource Deleted](https://docs.useautumn.com/api-reference/webhooks/vercelResourcesDeleted.md): When a Vercel resource is deleted, you'll need to handle de-provisioning any API keys or other non-Autumn controlled data for this user. - [Resource Provisioned](https://docs.useautumn.com/api-reference/webhooks/vercelResourcesProvisioned.md): When a Vercel resource is created, you'll need to provision a secret key for your service. Then you can use the provided access token to patch the resource's secrets. - [Rotate Secrets](https://docs.useautumn.com/api-reference/webhooks/vercelResourcesRotateSecrets.md): This event is sent when Vercel requires a resource's secrets to be rotated. - [Webhook Event](https://docs.useautumn.com/api-reference/webhooks/vercelWebhooksEvent.md): Passthrough webhook for Vercel events. - [Overview](https://docs.useautumn.com/api-reference/platform/overview.md): Manage Autumn on behalf of your users in a multi-tenant flow - [Create Organization](https://docs.useautumn.com/api-reference/platform/create-organization.md): Creates a new organization for a platform tenant. Reuses existing users and organizations if they already exist. - [Generate Stripe OAuth URL](https://docs.useautumn.com/api-reference/platform/oauth-url.md): Generates a Stripe Connect OAuth URL for a platform organization. Use this to allow your tenants to connect their Stripe accounts. - [Update Connected Stripe Account](https://docs.useautumn.com/api-reference/platform/update-stripe.md): Updates a platform organization's Stripe Connect configuration. Associates a Stripe account ID with the organization using your master Stripe credentials. - [List Users](https://docs.useautumn.com/api-reference/platform/list-users.md): Lists all users created by your master organization. Supports pagination and optional expansion of related organizations. - [List Organizations](https://docs.useautumn.com/api-reference/platform/list-orgs.md): Lists all organizations created by your master organization. Supports pagination. - [Changelog](https://docs.useautumn.com/changelog/changelog.md): Some new things we've shipped at Autumn HQ ## OpenAPI Specs - [platform](/api-reference/platform.yaml) - [openapi-1.2.0](/api/openapi-1.2.0.yml) - [openapi-2.0.0](/api/openapi-2.0.0.yml) - [openapi-local](/api/openapi-local.yml) - [openapi](/api/openapi.yml) ## Optional - [Discord](https://discord.gg/STqxY92zuS) - [GitHub](https://github.com/useautumn/autumn) - [Website](https://useautumn.com)