Developers
Build on Mowa.
Mowa is the system of record for AI behavior: versioned prompts with typed input and output interfaces, test datasets, and per-workspace usage. Everything the dashboard can do to prompts and datasets, your code can do over REST, and your agents can do over MCP.
01
Two surfaces, one substrate
The REST API speaks JSON over HTTPS at https://mowa.dev/api/v1 and fits CI pipelines, backends, and scripts. The MCP server exposes the same operations as tools for AI clients such as Claude and Cursor. Both act inside exactly one workspace and share one permission model: workspace membership gates every read and write, and publishing requires an owner or admin role.
02
Authentication
Workspace API keys
Create keys on the dashboard developer page. A key is bound to the workspace that is active when it is created, and every request acts inside that workspace with the key owner's role. Send it in the x-api-key header, or as Authorization: Bearer.
- Base URL
- https://mowa.dev/api/v1
- Rate limit
- 100 requests / minute / key
curl https://mowa.dev/api/v1/prompts \ -H "x-api-key: $MOWA_API_KEY"
Keys created before a workspace was active are rejected with 403 and the code key_not_org_scoped. Create a fresh key inside the workspace you want to reach.
03
Errors
Every error shares one envelope. The code is a stable machine string, the message is for humans.
{ "error": { "code": "not_found", "message": "Prompt not found" } }The 402 deserves special attention. When a Free workspace hits a plan cap, writes fail with plan_limit and an extra limit field naming the cap that was hit. Treat it as a signal to upgrade or clean up, not to retry.
{
"error": {
"code": "plan_limit",
"limit": "prompts",
"message": "The free plan includes 2 prompts. Upgrade to Pro for unlimited prompts."
}
}04
Plans
The API and MCP are available on every plan. Free workspaces are subject to plan limits on prompts, datasets, rows, and synthetic generation, and requests past a cap return the 402 above. Pro removes the caps. The exact numbers live on the limits page, and plans are compared on pricing.