Developers

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.

authentication
# 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" } }
Golden path

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.

Surface

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.*

CLI

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
terminal
# 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 }
Guarantees

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.