Guides · Introduction
Manybases documentation
Manybases is the backend for the apps you build for yourself: a database, authentication, file storage, server-side functions and hosting for each of your projects — provisioned by your AI agent in one command, with every limit published (up to 1,000 users per app on the paid plans).
Four ways in#
| You are… | Start here |
|---|---|
| Building with an AI agent (Claude, Cursor, any MCP client) | Start with an agent, then Connect an agent and the tool reference |
| Writing an app's code | Start from code, then the SDK |
| Calling the API directly | API conventions and Errors, then the data and management references |
| Looking at your projects in a browser | The dashboard |
Ten facts to know first#
- One account owns many projects; each project is one app's backend, entirely its own: database, files, users, keys, functions, site.
- Three keys:
ak_(the account, held by your agent),pk_(publishable, in the app),sk_(secret, on a server, born only in front of a human). - Two hosts:
api.manybases.comfor the account key,proj-<id>.manybases.comfor a project's data. The URL addresses; the key authorizes. - Every table has one of eight access presets that says who reads and writes its rows. They replace row-level security. The default is
prive. - A key is shown once, then hashed. A revoked key is refused from the next request on, everywhere.
- Some gestures confirm in two steps (
428with a token); a few also need a signed-in human — delete a project or a user, change an app URL, create a secret key, open a table with rows to the public, set a secret's value or manage the account's shared secrets. - Every publishable key signs users up, whoever created it: an agent can build the backend and enroll the first users. (Until 2026-09-07 one created by an agent could not.)
- Every refusal carries a code, a message and a hint written for an agent to correct itself; every response carries a request id that the project's log shows.
- Quotas are per account and block instead of billing: at a quota, reads keep serving, writes stop, nothing is deleted, and you are never charged past your plan.
- Your data leaves whenever you want: an export is a zip with a SQL dump, your files and a manifest.
The map#
- Start — with an agent · from code
- Concepts — How it fits together · Projects · Keys and identities · Access presets · The human boundary · Limits and quotas · Data isolation · Retention and deletion
- Dashboard — Overview of the screens · Account · Projects · Secrets · Integrations · Project overview · Tables · SQL editor · Users · API keys · Storage · Logs · Functions · Deployments · Settings · Billing
- MCP — Connect an agent · Tool index · projects · data · users · files · keys · logs · functions · site · github · Errors for agents
- SDK
@manybases/js— Install · Auth · Rows · Storage · Errors · Limits - API — Conventions · Errors · Data plane: Rows · Tables · Spaces · End-user auth · Files · SQL · Management plane: Mirrors · Projects · Users · Keys · SQL and logs · Functions · Shared secrets · Sites · GitHub
- Guides — Deploy from GitHub · Host your app elsewhere · Write an edge function · Invite users · Export your data · Respond to a leaked key
- Reference — Pricing · Limitations · FAQ · Glossary · Changelog · Support
- Legal — Terms of Service · Privacy Policy · Legal Notice · Data Processing Agreement · Acceptable Use · Subprocessors · Security
AI readers: the plain-text index with a reading order is llms.txt.
