# Revstack Docs > Open Source Billing OS for Developers. The scalable, developer-first billing engine with subscriptions, invoicing, usage metering, and entitlements. ## Docs - [Attach an entitlement to an addon](https://docs.revstack.dev/api-reference/addon-entitlements/attach-an-entitlement-to-an-addon.md) - [Detach an entitlement from an addon](https://docs.revstack.dev/api-reference/addon-entitlements/detach-an-entitlement-from-an-addon.md) - [Get an addon entitlement](https://docs.revstack.dev/api-reference/addon-entitlements/get-an-addon-entitlement.md) - [List addon entitlements](https://docs.revstack.dev/api-reference/addon-entitlements/list-addon-entitlements.md) - [Archive an addon](https://docs.revstack.dev/api-reference/addons/archive-an-addon.md) - [Bulk create addons](https://docs.revstack.dev/api-reference/addons/bulk-create-addons.md) - [Create an addon](https://docs.revstack.dev/api-reference/addons/create-an-addon.md) - [Get an addon](https://docs.revstack.dev/api-reference/addons/get-an-addon.md) - [List addons](https://docs.revstack.dev/api-reference/addons/list-addons.md) - [Create an API key](https://docs.revstack.dev/api-reference/api-keys/create-an-api-key.md): Generates a new API key for programmatic access. The plain-text key is only returned once. - [Delete an API key](https://docs.revstack.dev/api-reference/api-keys/delete-an-api-key.md): Permanently deletes an API key. - [Get an API key](https://docs.revstack.dev/api-reference/api-keys/get-an-api-key.md): Retrieves metadata for a specific API key. - [List API keys](https://docs.revstack.dev/api-reference/api-keys/list-api-keys.md): Retrieves all API keys for an environment (without plain-text values). - [Rotate an API key](https://docs.revstack.dev/api-reference/api-keys/rotate-an-api-key.md): Generates a new key value and archives the old one. - [Update an API key](https://docs.revstack.dev/api-reference/api-keys/update-an-api-key.md): Updates the name or scopes of an existing API key. - [Verify an API key](https://docs.revstack.dev/api-reference/api-keys/verify-an-api-key.md): Validates a Bearer token from the Authorization header and returns key metadata. - [Get an audit log entry](https://docs.revstack.dev/api-reference/audit/get-an-audit-log-entry.md): Retrieves a single audit log entry by ID. - [List audit logs](https://docs.revstack.dev/api-reference/audit/list-audit-logs.md): Retrieves audit log entries with optional filtering by actor, action, and resource. - [Get an auth configuration](https://docs.revstack.dev/api-reference/auth/get-an-auth-configuration.md): Retrieves a specific authentication configuration by ID. - [List auth configurations](https://docs.revstack.dev/api-reference/auth/list-auth-configurations.md): Retrieves all authentication configurations for an environment. - [Upsert auth configuration](https://docs.revstack.dev/api-reference/auth/upsert-auth-configuration.md): Creates or replaces the authentication provider configuration (JWKS/JWT) for an environment. - [Authentication](https://docs.revstack.dev/api-reference/authentication.md): Overview of Authentication - [Archive a coupon](https://docs.revstack.dev/api-reference/coupons/archive-a-coupon.md): Archives a coupon, automatically deactivating it. - [Create a coupon](https://docs.revstack.dev/api-reference/coupons/create-a-coupon.md): Creates a new discount coupon with percentage or fixed amount. - [Delete a coupon](https://docs.revstack.dev/api-reference/coupons/delete-a-coupon.md): Permanently deletes a coupon. - [Get a coupon](https://docs.revstack.dev/api-reference/coupons/get-a-coupon.md): Retrieves a single coupon by ID. - [List coupons](https://docs.revstack.dev/api-reference/coupons/list-coupons.md): Retrieves coupons with optional environment and status filters. - [Update a coupon](https://docs.revstack.dev/api-reference/coupons/update-a-coupon.md): Updates the active status or metadata of a coupon. - [Create a credit note](https://docs.revstack.dev/api-reference/credit-notes/create-a-credit-note.md): Issues a credit note against an invoice for partial or full refund. - [Get a credit note](https://docs.revstack.dev/api-reference/credit-notes/get-a-credit-note.md): Retrieves a single credit note by ID. - [List credit notes](https://docs.revstack.dev/api-reference/credit-notes/list-credit-notes.md): Retrieves credit notes with optional filters. - [Bulk create customers](https://docs.revstack.dev/api-reference/customers/bulk-create-customers.md) - [Create a customer](https://docs.revstack.dev/api-reference/customers/create-a-customer.md) - [Delete a customer](https://docs.revstack.dev/api-reference/customers/delete-a-customer.md) - [List customers](https://docs.revstack.dev/api-reference/customers/list-customers.md) - [Retrieve a customer](https://docs.revstack.dev/api-reference/customers/retrieve-a-customer.md) - [Create an entitlement](https://docs.revstack.dev/api-reference/entitlements/create-an-entitlement.md): Creates a new entitlement definition (feature flag, usage limit, etc.). - [Delete an entitlement](https://docs.revstack.dev/api-reference/entitlements/delete-an-entitlement.md): Permanently removes an entitlement definition. - [List entitlements](https://docs.revstack.dev/api-reference/entitlements/list-entitlements.md): Retrieves all entitlements for a given environment. - [Create an environment](https://docs.revstack.dev/api-reference/environments/create-an-environment.md): Creates a new isolated environment (e.g. sandbox, production). - [Delete an environment](https://docs.revstack.dev/api-reference/environments/delete-an-environment.md): Permanently deletes an environment and all associated data. - [Get an environment](https://docs.revstack.dev/api-reference/environments/get-an-environment.md): Retrieves a specific environment by ID. - [Update an environment](https://docs.revstack.dev/api-reference/environments/update-an-environment.md): Updates the name of an existing environment. - [Errors](https://docs.revstack.dev/api-reference/errors.md): Overview of Errors - [Get an integration](https://docs.revstack.dev/api-reference/integrations/get-an-integration.md): Retrieves details of a specific integration. - [Install an integration](https://docs.revstack.dev/api-reference/integrations/install-an-integration.md): Installs and configures a new payment provider integration (Stripe, Polar, etc.). - [List integrations](https://docs.revstack.dev/api-reference/integrations/list-integrations.md): Retrieves all installed integrations for an environment. - [Update integration config](https://docs.revstack.dev/api-reference/integrations/update-integration-config.md): Updates the configuration of an installed integration. - [Introduction](https://docs.revstack.dev/api-reference/introduction.md): Overview of Introduction - [Add a line item](https://docs.revstack.dev/api-reference/invoices/add-a-line-item.md): Adds a new line item to a draft invoice. - [Create a draft invoice](https://docs.revstack.dev/api-reference/invoices/create-a-draft-invoice.md): Creates a new invoice in draft status for a customer. - [Delete a line item](https://docs.revstack.dev/api-reference/invoices/delete-a-line-item.md): Removes a line item from a draft invoice. - [Finalize an invoice](https://docs.revstack.dev/api-reference/invoices/finalize-an-invoice.md): Transitions a draft invoice to finalized status, making it immutable. - [Get an invoice](https://docs.revstack.dev/api-reference/invoices/get-an-invoice.md): Retrieves a single invoice by ID with all line items. - [List invoices](https://docs.revstack.dev/api-reference/invoices/list-invoices.md): Retrieves invoices, optionally filtered by customer. - [Update a line item](https://docs.revstack.dev/api-reference/invoices/update-a-line-item.md): Updates an existing line item on a draft invoice. - [Update an invoice](https://docs.revstack.dev/api-reference/invoices/update-an-invoice.md): Updates mutable fields of a draft invoice. - [Void an invoice](https://docs.revstack.dev/api-reference/invoices/void-an-invoice.md): Marks a finalized invoice as void, reversing its financial impact. - [Get a payment](https://docs.revstack.dev/api-reference/payments/get-a-payment.md): Retrieves a single payment by ID. - [List payments](https://docs.revstack.dev/api-reference/payments/list-payments.md): Retrieves all payments, optionally filtered by invoice or customer. - [Process a payment](https://docs.revstack.dev/api-reference/payments/process-a-payment.md): Processes a payment against an invoice. Supports idempotency keys to prevent duplicate charges. - [Attach an entitlement to a plan](https://docs.revstack.dev/api-reference/plan-entitlements/attach-an-entitlement-to-a-plan.md): Links an entitlement definition to a plan with optional limits. - [Detach an entitlement from a plan](https://docs.revstack.dev/api-reference/plan-entitlements/detach-an-entitlement-from-a-plan.md): Removes a plan-entitlement association. - [Get a plan entitlement](https://docs.revstack.dev/api-reference/plan-entitlements/get-a-plan-entitlement.md): Retrieves a specific plan-entitlement association by composite key. - [List plan entitlements](https://docs.revstack.dev/api-reference/plan-entitlements/list-plan-entitlements.md): Retrieves all entitlements linked to plans, optionally filtered by planId. - [Update plan entitlement limits](https://docs.revstack.dev/api-reference/plan-entitlements/update-plan-entitlement-limits.md): Updates the limit values for a plan-entitlement association. - [Archive a plan](https://docs.revstack.dev/api-reference/plans/archive-a-plan.md): Marks a plan as archived, preventing new subscriptions. - [Create a plan](https://docs.revstack.dev/api-reference/plans/create-a-plan.md): Creates a new billing plan with pricing and entitlement associations. - [Hide a plan](https://docs.revstack.dev/api-reference/plans/hide-a-plan.md): Hides a plan from public visibility while keeping it active for existing subscribers. - [List plans](https://docs.revstack.dev/api-reference/plans/list-plans.md): Retrieves all available billing plans. - [Create a new price version](https://docs.revstack.dev/api-reference/prices/create-a-new-price-version.md): Archives the current price and creates a new version with updated amount. - [Create a price](https://docs.revstack.dev/api-reference/prices/create-a-price.md): Creates a new price linked to a plan or addon. - [Get a price](https://docs.revstack.dev/api-reference/prices/get-a-price.md): Retrieves a single price by ID. - [List prices](https://docs.revstack.dev/api-reference/prices/list-prices.md): Retrieves prices with optional filtering by plan, environment, or archive status. - [Update a price](https://docs.revstack.dev/api-reference/prices/update-a-price.md): Updates mutable fields of an existing price (name, metadata). - [Get a provider event](https://docs.revstack.dev/api-reference/provider-events/get-a-provider-event.md): Retrieves a single provider event by ID. - [Ingest a provider event](https://docs.revstack.dev/api-reference/provider-events/ingest-a-provider-event.md): Receives a raw webhook event from a payment provider for async processing. - [List provider events](https://docs.revstack.dev/api-reference/provider-events/list-provider-events.md): Retrieves ingested provider events with optional filtering. - [Create a refund](https://docs.revstack.dev/api-reference/refunds/create-a-refund.md): Creates a refund for a previously processed payment. Supports idempotency keys. - [Get a refund](https://docs.revstack.dev/api-reference/refunds/get-a-refund.md): Retrieves a single refund by ID. - [List refunds](https://docs.revstack.dev/api-reference/refunds/list-refunds.md): Retrieves all refunds, optionally filtered by payment or customer. - [Update a refund](https://docs.revstack.dev/api-reference/refunds/update-a-refund.md): Updates metadata or status of an existing refund. - [Create a studio admin](https://docs.revstack.dev/api-reference/studio/create-a-studio-admin.md): Creates a new admin user for the Revstack Studio dashboard. - [Get a studio admin](https://docs.revstack.dev/api-reference/studio/get-a-studio-admin.md): Retrieves a studio admin by ID or email address. - [List studio admins](https://docs.revstack.dev/api-reference/studio/list-studio-admins.md): Retrieves all studio admin users. - [Update a studio admin](https://docs.revstack.dev/api-reference/studio/update-a-studio-admin.md): Updates name or password of an existing studio admin. - [Cancel a subscription](https://docs.revstack.dev/api-reference/subscriptions/cancel-a-subscription.md): Cancels an active subscription, optionally at end of billing period. - [Create a subscription](https://docs.revstack.dev/api-reference/subscriptions/create-a-subscription.md): Creates a new subscription linking a customer to a plan and price. - [Get a subscription](https://docs.revstack.dev/api-reference/subscriptions/get-a-subscription.md): Retrieves a single subscription by ID. - [List customer subscriptions](https://docs.revstack.dev/api-reference/subscriptions/list-customer-subscriptions.md): Retrieves all subscriptions for a specific customer. - [List subscriptions](https://docs.revstack.dev/api-reference/subscriptions/list-subscriptions.md): Retrieves subscriptions with optional filtering. - [Update a subscription](https://docs.revstack.dev/api-reference/subscriptions/update-a-subscription.md): Updates mutable fields of an existing subscription. - [Create a usage meter](https://docs.revstack.dev/api-reference/usage/create-a-usage-meter.md): Creates a new usage meter definition for tracking feature consumption. - [Get a usage meter](https://docs.revstack.dev/api-reference/usage/get-a-usage-meter.md): Retrieves the current usage meter for a customer-feature pair. - [List usage records](https://docs.revstack.dev/api-reference/usage/list-usage-records.md): Retrieves usage records with optional filtering. - [Record usage event](https://docs.revstack.dev/api-reference/usage/record-usage-event.md): Records a metered usage event for a customer against a feature entitlement. - [Update a usage meter](https://docs.revstack.dev/api-reference/usage/update-a-usage-meter.md): Updates configuration of an existing usage meter. - [Create a user](https://docs.revstack.dev/api-reference/users/create-a-user.md): Creates a new end-user within an environment. - [Get a user](https://docs.revstack.dev/api-reference/users/get-a-user.md): Retrieves a single user by ID. - [List users](https://docs.revstack.dev/api-reference/users/list-users.md): Retrieves users with optional filtering by environment, role, and status. - [Update a user](https://docs.revstack.dev/api-reference/users/update-a-user.md): Updates profile information for an existing user. - [Credit a wallet](https://docs.revstack.dev/api-reference/wallets/credit-a-wallet.md): Adds funds to a customer wallet. Creates an ACID-compliant transaction record. - [Debit a wallet](https://docs.revstack.dev/api-reference/wallets/debit-a-wallet.md): Withdraws funds from a customer wallet. Fails if insufficient balance. - [Get wallet balance](https://docs.revstack.dev/api-reference/wallets/get-wallet-balance.md): Retrieves the current balance of a customer wallet. - [List wallet transactions](https://docs.revstack.dev/api-reference/wallets/list-wallet-transactions.md): Retrieves the transaction history for a specific wallet. - [Create a webhook endpoint](https://docs.revstack.dev/api-reference/webhooks/create-a-webhook-endpoint.md): Registers a new webhook endpoint URL to receive event notifications. - [Deactivate a webhook endpoint](https://docs.revstack.dev/api-reference/webhooks/deactivate-a-webhook-endpoint.md): Disables a webhook endpoint from receiving further notifications. - [List webhook deliveries](https://docs.revstack.dev/api-reference/webhooks/list-webhook-deliveries.md): Retrieves the delivery log for a specific webhook endpoint. - [List webhook endpoints](https://docs.revstack.dev/api-reference/webhooks/list-webhook-endpoints.md): Retrieves all registered webhook endpoints. - [Rotate webhook secret](https://docs.revstack.dev/api-reference/webhooks/rotate-webhook-secret.md): Generates a new signing secret for a webhook endpoint. - [Authentication](https://docs.revstack.dev/guides/authentication.md): Overview of Authentication - [Billing as Code](https://docs.revstack.dev/guides/billing-as-code.md): Overview of Billing as Code - [Checkout](https://docs.revstack.dev/guides/checkout.md): Overview of Checkout - [CLI](https://docs.revstack.dev/guides/cli.md): Overview of CLI - [Customer Portal](https://docs.revstack.dev/guides/customer-portal.md): Overview of Customer Portal - [Self Hosted](https://docs.revstack.dev/guides/deployment/self-hosted.md): Overview of Self Hosted - [Entitlements](https://docs.revstack.dev/guides/entitlements.md): Overview of Entitlements - [Introduction](https://docs.revstack.dev/guides/introduction.md): Monetize your software in minutes. The open-source Billing OS for modern SaaS. - [Metering](https://docs.revstack.dev/guides/metering.md): Overview of Metering - [Paywall](https://docs.revstack.dev/guides/paywall.md): Overview of Paywall - [Plans](https://docs.revstack.dev/guides/plans.md): Overview of Plans - [Prices](https://docs.revstack.dev/guides/prices.md): Overview of Prices - [Pricing Models](https://docs.revstack.dev/guides/pricing-models.md): Overview of Pricing Models - [Polar](https://docs.revstack.dev/guides/providers/polar.md): Overview of Polar - [Stripe](https://docs.revstack.dev/guides/providers/stripe.md): Overview of Stripe - [Quickstart](https://docs.revstack.dev/guides/quickstart.md): Overview of Quickstart - [Next JS](https://docs.revstack.dev/guides/sdks/nextjs.md): Overview of Next JS - [Node JS](https://docs.revstack.dev/guides/sdks/node.md): Overview of Node JS - [React](https://docs.revstack.dev/guides/sdks/react.md): Overview of React - [Vanilla JS](https://docs.revstack.dev/guides/sdks/vanilla-js.md): Overview of Vanilla JS - [Vercel AI Wrapper](https://docs.revstack.dev/guides/sdks/vercel-ai-wrapper.md): Overview of Vercel AI Wrapper ## OpenAPI Specs - [openapi](https://docs.revstack.dev/openapi.json)