Totalum App Builder API
Create real apps from a prompt, programmatically.
The Totalum App Builder API turns a prompt into a working, hosted, full-stack app — and lets you keep changing it. You send a prompt; Totalum's AI agent writes a real Next.js app with its own database, sign-in, file storage, AI and payments built in; Totalum hosts it, gives it a preview and publishes it when you say so. Use it to put an app builder inside your product, to let an AI agent ship apps, or to run your own white-label builder.
https://builder-api.totalum.app/api/v1/vcaasapi-key: tlm_sk_… header{ errors, data }Projects created before 8 October 2026, or without the v2 engine, are legacy projects: they keep working, but some endpoints and features on this page do not apply to them. See Legacy projects: what differs.
#Get your API key
- Open API in your Totalum account. A key is created for you; reveal and copy it (
tlm_sk_…). You can create more keys and restrict a key to some projects. - Send it in the
api-keyheader of every request — from your server only, never from browser or mobile code. - Keep a credit balance: actions that spend need at least 1 credit. The API works on every plan, including the free one.
curl -H "api-key: tlm_sk_your_key" https://builder-api.totalum.app/api/v1/vcaas/accountconst res = await fetch("https://builder-api.totalum.app/api/v1/vcaas/account", {
headers: {
"api-key": process.env.TOTALUM_API_KEY,
},
});
const { errors, data } = await res.json();The older host https://api-accounts.totalum.app answers the same paths, so existing integrations keep working.
#The development cycle
launch ─▶ prompt ─▶ preview ─▶ prompt ─▶ preview … ─▶ publish ─▶ live site
(dev database, preview URL) (live database, your domain)- Launch Project creates the project and runs the first prompt.
- Poll Get Agent Status (every 10–15 s) until
statusis"done"; show progress meanwhile. - Open the development preview:
temporalDevelopmentProjectUrlfrom Get Project. Every prompt that changes code is saved as a version and deployed to the preview, on the project's development database. - Send more prompts with Run AI Agent.
- Publish when it is right: the version goes live at
<projectId>.totalum-project.com(and your custom domain), and its database changes are applied to the live database. Poll Get Deployment Status.
Development and production are like two branches: prompts, file edits and restores only ever change dev; only a publish changes live. A publish that would delete live data asks for confirmation.
#What you can do
| Area | Endpoints |
|---|---|
| Build | Projects · AI Agent · Publishing · Versions · Project Files · Visual Edits |
| Data | Database · Backups & Restore · Source Code & Uploads · Export & Import |
| Run | Logs · Usage & Analytics · Spending & Rate Limits · Scheduled Jobs · Secrets, Keys & .env |
| Ship | Custom Domains · Buy a Domain · Mobile Apps · Payments |
| Connect | Webhooks · GitHub · Figma · Project Groups · Account |
| Reference | Errors & Limits · OpenAPI 3.1 · Docs for AI agents · MCP server |
#What every generated app includes
Each project is a standard Next.js app (App Router, React, Tailwind CSS) that runs on Cloudflare Workers, with its own SQL database (two of them: development and live), sign-in, file storage and the Totalum SDK for e-mail, AI (text, images, video, speech), document scanning, web scraping, a cloud browser, PDFs, payments, real-time, scheduled jobs and vector search. Mention what you need in the prompt; no keys to set up. Read For Developers for the stack, and the code is yours: download it or sync it to GitHub any time.
#Response envelope
{ "errors": null, "data": { "projectId": "barber-bookings" } }On failure data is null and errors is { errorCode, errorMessage, errorDetails? }. Branch on errorCode. All codes, limits and retry rules: Errors & Limits.
