# Lotus ## Docs - [Why Lotus](https://docs.uselotus.io/overview/why-lotus.md): Lotus is a powerful open-core pricing and billing engine that enables SaaS companies to deploy, monitor, and experiment with custom subscriptions and complex models like usage-based pricing. - [Quickstart](https://docs.uselotus.io/overview/getting-started.md): Deploy your business's flexible pricing infrastructure with a few quick steps. - [👤 Self-Hosting](https://docs.uselotus.io/overview/self-hosting.md): Best if you want to keep your data local or want full control and extensibility. - [Contributing](https://docs.uselotus.io/contributing.md): Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. - [Create Metrics](https://docs.uselotus.io/metering/creating-metrics.md): Creating billable metrics is the first step in setting up your pricing on Lotus. - [Ingesting Usage](https://docs.uselotus.io/metering/logging-events.md): Much like many product analytics software, Lotus integrates into your backend and tracks usage events when you recognize them. - [Create Plans](https://docs.uselotus.io/plan-management/creating-plans.md) - [Bespoke Plans](https://docs.uselotus.io/plan-management/plan-templates.md) - [Plan Versioning](https://docs.uselotus.io/plan-management/versioning.md): With Lotus' plan versioning, you can easily create new versions of your plans, and control the behavior of users who are on older versions of your plans. - [Create Subscriptions](https://docs.uselotus.io/subscription-lifecycle/creating-subscriptions.md) - [Invoicing](https://docs.uselotus.io/subscription-lifecycle/invoicing.md) - [Managing Entitlements](https://docs.uselotus.io/subscription-lifecycle/managing-access.md) - [Alerts](https://docs.uselotus.io/subscription-lifecycle/alerts.md) - [Add-Ons](https://docs.uselotus.io/subscription-lifecycle/addons.md) - [Credits](https://docs.uselotus.io/credits/credits.md) - [Stripe](https://docs.uselotus.io/external-integrations/stripe.md): Lotus lets you keep the most convenient part of Stripe (processing payments), while also letting you seamlessly transition off the products that are incurring costs you don't even think about. - [Braintree](https://docs.uselotus.io/external-integrations/braintree.md): Lotus allows you to leverage the power of Braintree's payment processing technology, while offering a more intuitive and full-featured subscription management platform." - [Netsuite](https://docs.uselotus.io/external-integrations/netsuite.md): Export your invoices and line items to your ERP. - [Segment](https://docs.uselotus.io/external-integrations/segment.md): Track usage events through Segment. - [Salesforce](https://docs.uselotus.io/external-integrations/salesforce.md): Sync customers, invoices, and usage data back to Salesforce. - [Integrating New Payment Providers](https://docs.uselotus.io/extensibility/integrate-payment-providers.md) - [Webhooks](https://docs.uselotus.io/webhooks/webhooks.md) - [Backtesting](https://docs.uselotus.io/experimentation/backtests.md) - [Error Responses](https://docs.uselotus.io/errors/error-responses.md) - [API Overview](https://docs.uselotus.io/api-reference/api-overview.md): Ping the API to check if the API key is valid. - [Python Library](https://docs.uselotus.io/api-reference/python-guide.md) - [Typescript Library](https://docs.uselotus.io/api-reference/typescript-guide.md) - [Tracking](https://docs.uselotus.io/api-reference/events/tracking.md): Tracking product usage is one of the most common operations you'll make in Lotus. It's used to capture any event that you might want to bill on at any point. - [Verify Event Ingestion](https://docs.uselotus.io/api-reference/events/verify-ingestion.md): Verify if events with specific idempotency events have been ingested into Lotus' record of events. - [Create a customer](https://docs.uselotus.io/api-reference/customers/create-customer.md): Create a customer - [Get a customer](https://docs.uselotus.io/api-reference/customers/retrieve-customer.md) - [List customers](https://docs.uselotus.io/api-reference/customers/list-customers.md) - [Get Feature Access](https://docs.uselotus.io/api-reference/access/feature-access.md) - [Get Metric Access](https://docs.uselotus.io/api-reference/access/metric-access.md) - [Create a subscription](https://docs.uselotus.io/api-reference/subscriptions/create-subscription.md): Add a plan to a customer's subscription - [Cancel a subscription](https://docs.uselotus.io/api-reference/subscriptions/cancel-subscription.md): Cancels a subscription. You can modify the behavior of the cancellation based on the arguments passed to the call. - [Update a subscription](https://docs.uselotus.io/api-reference/subscriptions/change-subscription.md): Cancel auto-renew or change the end date of a subscription. - [Switch a subscription's plan](https://docs.uselotus.io/api-reference/subscriptions/switch-subscription-plan.md): Upgrade or downgrade the susbcription's plan. - [Change Prepaid Units](https://docs.uselotus.io/api-reference/subscriptions/change-prepaid-units.md): Change the number of prepaid usage units in a subscription. - [Attach an Add-On](https://docs.uselotus.io/api-reference/subscriptions/attach-addon.md): Add an addon to a customer's subscription - [Cancel an Add-On](https://docs.uselotus.io/api-reference/subscriptions/cancel-addon.md): Cancel an addon in the customer's subscription - [List subscriptions](https://docs.uselotus.io/api-reference/subscriptions/list-subscriptions.md) - [Create a subscription](https://docs.uselotus.io/api-reference/subscriptions/create-subscription-old.md): Add a plan to a customer's subscription - [Cancel a subscription](https://docs.uselotus.io/api-reference/subscriptions/cancel-subscription-old.md): Cancels a subscription. You can modify the behavior of the cancellation based on the arguments passed to the call. - [Update a subscription](https://docs.uselotus.io/api-reference/subscriptions/change-subscription-old.md): Upgrade, downgrade or cancel autorenew for a subscription plan - [List plans](https://docs.uselotus.io/api-reference/plans/list-plans.md) - [Get Plan](https://docs.uselotus.io/api-reference/plans/retrieve-plan.md) - [List invoices](https://docs.uselotus.io/api-reference/invoices/list-invoices.md) - [Get invoice](https://docs.uselotus.io/api-reference/invoices/get-invoice.md) - [Get Invoice PDF](https://docs.uselotus.io/api-reference/invoices/get-invoice-pdf.md) - [List credits](https://docs.uselotus.io/api-reference/credits/list-credits.md) - [Create a credit](https://docs.uselotus.io/api-reference/credits/create-credit.md): Create a credit - [Void credit](https://docs.uselotus.io/api-reference/credits/void-credit.md) - [Update credit](https://docs.uselotus.io/api-reference/credits/update-credit.md) ## OpenAPI Specs - [openapi_private](https://docs.uselotus.io/openapi_private.yaml) - [openapi_full](https://docs.uselotus.io/openapi_full.yaml) - [openapi](https://docs.uselotus.io/openapi.yaml) ## Optional - [Blog](https://www.uselotus.io/journal) - [Github](https://github.com/uselotus/lotus) - [Community](https://join.slack.com/t/lotus-community/shared_invite/zt-1ghi61p9j-ADYbp3tEL~N16AxQr2mlzA)