An API for every action.
Provision products, model data, publish UI, install features, bill customers — all over HTTP with typed errors, idempotency keys, rate-limit headers and a machine-readable spec. If the console can do it, so can your script or your agent.
The manual at /docs/llms.txt is written for humans and agents — it is the same document the Build with AI wizard hands to Claude or ChatGPT.
# every call is a plain HTTP request with a token header curl https://console.yourdomain.com/api/method/platform_control.api.micro_saas.list_micro_saas \ -H "Authorization: token $API_KEY:$API_SECRET" # responses are JSON; errors are typed envelopes { "message": [ { "slug": "helpdesk", "status": "Active", "app_hostname": "helpdesk-app.yourdomain.com" } ] } { "error": { "code": "rate_limited", "retry_after": 12, "docs": "…/errors/rate_limited" } }
Signup to live product in five calls
This is the whole lifecycle. A human does the same through the console; an agent does it from the prompt the wizard gives it.
Provision
create_micro_saas then poll get_provisioning_status until Active.
Model
schema_api.create_doctype with fields + an if_owner role. REST is live.
Build
Write main.js with ctx.ui.crud, files_api.publish, custom_apps.register_app.
Open up
end_user_auth.configure_signup — users register on the app hostname.
Charge
billing.* for your users; api.billing.* for your platform plan.
What the API covers
Products & lifecycle
Create, status, credentials reveal/rotate, archive/unarchive, delete with confirmation, backups and restore jobs.
api.micro_saas.*
Schema & data
Create and evolve types, set permissions, then CRUD over /api/resource with filters and pagination.
schema_api.* · /api/resource/<Type>
Files: draft → publish
Tree, read, write, upload, publish with a comment, list snapshots and roll back. Drafts never reach users until published.
files_api.*
Users, roles & auth
Configure self-signup, assign per-user roles within a ceiling, list role presets, impersonate with an audited session.
end_user_auth.* · user_admin.*
Marketplace
Browse, install a version, upgrade in place, uninstall with backup, lint a manifest before you publish one.
api.marketplace.*
Billing & usage
Plans, checkout, subscription state and invoices for the platform; the SaaS kit for your own users; daily usage samples.
api.billing.* · billing.* · api.usage.*
The xcore command line
A single-file CLI that wraps the API one-to-one. Log in once, then script everything from your terminal or CI.
- mslist · create · status · creds · archive · backup · restore
- filesls · cat · put · upload · publish · snapshots · rollback
- schemals · create
- marketlist · install
# credentials live in ~/.xcore.env (or XCORE_* env vars) $ xcore login --key $KEY --secret $SECRET $ xcore ms create --account acme --slug helpdesk { "slug": "helpdesk", "status": "Provisioning" } $ xcore ms status helpdesk { "status": "Active", "app_hostname": "helpdesk-app.yourdomain.com" } $ xcore files put helpdesk custom/helpdesk/main.js --file ./main.js $ xcore files publish helpdesk --comment "tickets v1" { "snapshot": "snap_0042", "published": true }
Contracts you can build on
Typed error envelope
Every failure returns {"error": {"code", "message", "docs", …}} with a stable machine-readable code — invalid_email, scope_denied, rate_limited, quota_exceeded — so clients branch on codes, not strings.
Idempotency & dry-run
Send Idempotency-Key on any write and a retry returns the original result instead of a duplicate. Send X-Dry-Run: 1 to validate a call without committing.
Rate limits & budgets
Per-key sustained and burst limits from your plan, surfaced as headers and 429 envelopes with retry_after. Token budgets cap what a key may write per period.
Blast-radius tiers
Keys carry a scope preset (read-only, builder, admin). Calls outside the tier are refused with a typed 403 before they touch data; privileged actions require an owner's approval.
Get a key and start calling.
Create an account, provision a product, and mint an API key from the console — or let the Build with AI wizard do it for your agent.