Version 1.0. Everything you can do in the owner dashboard, your robots can do by API — pages, products, the website editor, calls/activity (read), appointments, domains, and infrastructure status. Collections are edited as part of the page (PUT /api/pages/:id — see §4). The API accelerates robot work; the web interface remains fully available (dual-surface).
read (GET only) or write (full write).cp_live_ and is shown once. Only its hash is stored.Send the key as a Bearer A key acts with your account's perimeter only: your pages, your customers, your data — never another account's. Key management itself (create/list/revoke) requires your signed-in browser session; a key can never mint keys. Every key call is logged in Activity (which key, what action, which page) and counts toward the key's usage in Settings. Revoke a key instantly from Settings → API Keys if it leaks. Sensible per-key limits inside Cloudflare's free tier; see Guide version 1.0 · This guide is contract-tested in CI: every endpoint above must exist.curl https://callpages.me/api/me \
-H "Authorization: Bearer
3. Scopes
read — GET/HEAD/OPTIONS on every owner endpoint. A write attempt returns 403 insufficient-scope.write — everything your dashboard session can do.4. Robot flow: page → collection → product → website
# 1. Create a page
curl -X POST https://callpages.me/api/pages \
-H "Authorization: Bearer
5. Endpoint reference
Method Path Min scope Area GET/api/meread Account GET/api/usageread Account GET/api/activityread Activity GET/api/pagesread Pages POST/api/pageswrite Pages GET/api/pages/:idread Pages PUT/api/pages/:idwrite Pages DELETE/api/pages/:idwrite Pages GET/api/pages/:id/productsread Products POST/api/pages/:id/productswrite Products PATCH/api/pages/:id/products/:pidwrite Products DELETE/api/pages/:id/products/:pidwrite Products GET/api/pages/:id/site-pagesread Website PUT/api/pages/:id/site-pageswrite Website DELETE/api/pages/:id/site-pageswrite Website GET/api/callsread Calls & activity (read) GET/api/owner/appointmentsread Appointments GET/api/pages/:id/domainread Domains POST/api/pages/:id/domainwrite Domains GET/api/infra/keysread Infrastructure (BYOK status) 6. Errors
401 unauthorized — missing/invalid key or session.403 insufficient-scope — a read key tried to write.403 — the target belongs to another account.404 not-found — unknown id (every documented endpoint exists; a documented endpoint that 404s is a release-blocking bug).429 — rate limited; back off.7. Observability
8. Rate limits
GET /api/usage for your current consumption.