How to give every customer their own API endpoint?
Luigi’s calls luigis.abz.run. Sakura calls sakura.abz.run. Each has its own keys, its own limits and its own spend cap.
APIblaze gives each customer a project of their own, pointed at your backend or at theirs. Add one by hand or from a script.
Create your first customer endpoint
$ npx apiblaze@latest create --target https://ninopizzas.com/openapi.yamlPaste it in a terminal. No sign-up, no servers. The link is a sample restaurant API; swap in your own, and add --name with the customer’s name.
A new customer, a new address
Three restaurants sign up for your booking API. Each one gets an address no one else uses, and the plan you sold them. El Toro is big enough to want a dedicated server, so its project points at a backend of its own.
Luigi’s Trattoria
luigis.abz.run
- Backend
- api.yourco.com
- Rate per key
- 10 a second
- Quota
- 3,000 a day
- Spend cap
- $20 a month
Sakura Sushi
sakura.abz.run
- Backend
- api.yourco.com
- Rate per key
- 25 a second
- Quota
- 50,000 a week
- Spend cap
- $100 a month
El Toro Grill
eltoro.abz.run
- Backend
- eltoro.yourco.com
- Rate per key
- 40 a second
- Quota
- 500,000 a month
- Spend cap
- $500 a month
Their own dedicated backend.
Everything is theirs alone
This is what Luigi’s gets the moment you add them. Sakura and El Toro get the same, separately.
Luigi’s Trattoria
luigis.abz.run
Customer since today. Plan: 10 calls a second, 3,000 a day, $20 a month at most.
- Their own addressluigis.abz.run, used by no one else.
- Your backend, or theirsPoint every customer at one backend, or one at its own.
- Their own API keysMinted for that customer, and revoked without touching anyone else.
- Their own rate limitHow fast each of their keys may call.
- Their own quotaHow much they may use in a day, a week or a month.
- Their own spend capWhat they may cost you in a month, at most.
- Their own MCP serverAn address AI assistants like Claude can connect to.
- Their own developer portalDocs for their API at luigis.portal.apiblaze.com.
Shared: one wallet and one dashboard for you, with usage and cost per customer.
Two ways to be multi-tenant
Both keep every customer to their own keys. The difference is the address, and whose limits they share.
An address per customer
One project for each customer
- Address
- luigis.abz.run, sakura.abz.run
- Backend
- Shared, or one per customer
- Rate, quota and spend cap
- Set per customer
- You manage
- One project per customer, from a script
Best when customers pay for different plans, or one needs its own backend.
One address for everyone
One project, many customers
- Address
- yourapi.abz.run for all
- Backend
- One, told who is calling
- Rate limit
- Per key; quota and spend cap shared
- You manage
- One project
Best when every customer gets the same API and the same plan.
Add a customer from a script
Three commands per customer: their project, their plan and their first key. Run them by hand, or from your signup code when a customer pays.
npx apiblaze@latest loginSign in once. Every project you create lands in your account.
npx apiblaze@latest create --target https://api.yourco.com --name luigis --tenant luigis --autoTheir address. Makes luigis.abz.run, pointed at your backend. --auto answers every question for you.
npx apiblaze@latest limits set luigis --rate 10 --quota 3000 --period daily --spend-cap 20Their plan. Their rate per key, their daily quota and their monthly spend cap.
npx apiblaze@latest apikeys mint --tenant luigisTheir first key. Prints an API key, ready to send them.
Common questions
What is a multi-tenant API?
One API that serves many customers, each kept to their own keys, data and limits. Each customer is a tenant.
How do I give each customer their own endpoint?
Create one APIblaze project per customer. Project names are unique, so luigis.abz.run belongs to that customer alone, with its own keys, limits and spend cap.
Can every customer use the same address instead?
Yes. Put several customers on one project. APIblaze tells them apart by their key or sign-in, and your backend gets the customer’s name in the x-abz-tenant-id header. They then share that project’s quota and spend cap.
Do I need a separate backend for each customer?
No. Point every customer’s project at the same backend, or give one customer its own, for example a dedicated server for a large account.
Can a customer use their own domain?
Yes. Add a domain like api.luigis.com to their project and set one DNS record. Custom domains are billed monthly.
Can I add customers automatically?
Yes. Every step is a CLI command, and --auto runs it with no prompts, so a script can add a customer from start to finish.
Does it work for MCP servers too?
Yes. Each customer’s project also gets its own MCP server address, so their AI assistants connect to their own server.
How am I billed?
Per request, from one wallet for your team, with no subscription. Your billing history shows usage and cost for each project, so you see what each customer costs you.
Prices are on the pricing page.
Give your first customer their own endpoint
No sign-up, no servers. Their own address, keys, limits and spend cap, in front of the backend you already run.
$ npx apiblaze@latest create --target https://ninopizzas.com/openapi.yaml