Tenants
A tenant is the top-level isolation boundary in FlexPrice. Each tenant has:- Complete data isolation from other tenants
- Separate billing configuration
- Independent user management
- Own integration settings
In a self-hosted deployment, you control your tenant data. In the cloud version, each customer account is a separate tenant.
Environments
Within each tenant, you can create multiple environments:- Production - Live customer data and billing
- Staging - Pre-production testing
- Development - Local development and testing
Complete Isolation
Each environment has its own customers, meters, plans, and invoices
Same Configuration
Share plan templates and pricing models across environments
How It Works
Every API request must specify both tenant and environment:API keys are scoped to a specific tenant and environment combination.
Environment Workflow
Data Scope
All entities in FlexPrice are scoped to a tenant + environment:- Customers
- Plans and prices
- Meters and events
- Subscriptions
- Invoices
- Wallets and credit grants
Best Practices
- Use development for experiments - Test new pricing models without affecting production
- Stage before production - Always validate in staging before deploying pricing changes
- Separate API keys - Use different keys for each environment
- Monitor all environments - Set up alerts for all environments, not just production
Related Resources
Authentication
Learn about API keys and environment scoping
Self-Hosting
Deploy FlexPrice with multi-tenant support