API reference

Every route this deployment serves, read from the router itself at boot rather than maintained by hand — so it cannot describe an endpoint that is not there, or miss one that is. Responses are JSON. Errors are {"error": "…", "code": "domain.reason"}. A denied cross-workspace read answers 404, identically to a record that does not exist.

RouteMethodsAccessWhat it does
/api/actions GET signed in The in-call action catalogue.
/api/actions/execute POST signed in Run an action. Privileged ones need a resolved approval.
/api/actions/log GET signed in What the assistant did, and whether it was approved.
/api/activity GET signed in The newest handful of calls as an event feed.
/api/admin/audit GET operator The operator action log.
/api/admin/backup GET operator Take a backup; {"drill":true} proves a restore.
/api/admin/clients GET POST operator Client workspaces; POST creates one.
/api/admin/connections GET operator Every external account a real call depends on, and — with ?verify=1 — whether each key actually works.
/api/admin/overview GET operator Platform totals: clients, plans, revenue, pricing.
/api/admin/readiness GET operator The machine-checkable half of the launch gate.
/api/admin/settings GET PATCH operator The platform settings registry. Secrets are redacted.
/api/admin/users GET operator Accounts across all workspaces.
/api/analytics GET signed in Sentiment, intents and conversion, from records.
/api/approvals GET signed in Approvals waiting on a person.
/api/approvals/resolve POST signed in Approve or deny one.
/api/auth/forgot POST sign-in flow Begin a password reset.
/api/auth/google GET sign-in flow Start Google sign-in.
/api/auth/google/callback GET sign-in flow Finish Google sign-in.
/api/auth/login POST sign-in flow Email and password sign-in. Rate-limited per IP.
/api/auth/logout POST sign-in flow Clear the session cookie.
/api/auth/me GET sign-in flow The signed-in user and their workspace.
/api/auth/methods GET no sign-in Which sign-in buttons this deployment can offer.
/api/auth/phone/start POST sign-in flow Send a one-time code by SMS.
/api/auth/phone/verify POST sign-in flow Check a one-time code and sign in.
/api/auth/signup POST sign-in flow Create an account and its workspace.
/api/billing GET no sign-in Plan, rate card, and this workspace’s credit position.
/api/billing/commit POST signed in Settle a hold at what the call actually cost.
/api/billing/invoices GET signed in Issued invoices.
/api/billing/ledger GET signed in Credit movements, append-only.
/api/billing/plan POST signed in Change plan.
/api/billing/pricing GET signed in The published price list. Public: the pricing page reads it signed-out.
/api/billing/refund POST signed in Operator: reverse one charge, once, inside the refund window.
/api/billing/release POST signed in Drop a hold for a call that never connected.
/api/billing/reserve POST signed in Hold credit against a call about to be placed.
/api/billing/topup POST signed in Buy a credit pack.
/api/billing/webhook POST signed in Stripe’s callback. Signature-verified and idempotent.
/api/callbacks GET signed in The call-back queue.
/api/calls GET signed in This workspace’s calls, filtered and paged.
/api/campaigns GET POST signed in Campaign grouping over queued outbound work.
/api/chatbot/sync POST signed in Sync knowledge with the linked AI-SNS.Chat bot.
/api/config GET signed in This workspace’s configuration; PATCH a named section.
/api/connections GET signed in Person-to-person chat connections.
/api/contacts GET signed in The workspace address book.
/api/dnc GET signed in The do-not-call list. Additions take effect on the next dial.
/api/export GET signed in Export this workspace's own calls, bookings, contacts, messages and audit log as JSON or CSV. POST only, owner or operator, and the counts are audited.
/api/health GET no sign-in Liveness. Answers before anyone signs in, and is what the platform probes.
/api/integrations GET signed in Connected third-party systems and their sealed credentials.
/api/me/invite GET PATCH signed in This user’s invite link.
/api/me/invite/rotate POST signed in Issue a new invite link and void the old one.
/api/messages GET POST signed in SMS sends; POST sends, GET lists.
/api/messages/quote POST signed in Price an SMS before sending it.
/api/numbers GET POST signed in Phone numbers held by this workspace; POST rents another.
/api/outbound POST signed in Place one outbound call now. Gated on DNC and calling hours.
/api/outbound/queue GET signed in The outbound queue for this workspace.
/api/outbound/schedule POST signed in Queue calls for later, singly or in bulk.
/api/playbooks GET signed in Industry playbooks and their per-call-type instructions.
/api/reports GET signed in The summary plus a per-number breakdown.
/api/reservations GET signed in Bookings taken on calls.
/api/retention/preview GET signed in What a retention window would destroy, before it is saved.
/api/session GET no sign-in Whether this browser is signed in, without a redirect.
/api/setup GET signed in What this workspace still has to do before its phone is answered — each step judged from its own settings, never a checkbox.
/api/simulate POST signed in Mint a demo call (テスト着信). Rate-limited.
/api/site GET no sign-in The operator-managed copy and toggles the landing page renders.
/api/social GET no sign-in Which social channels feed the phone.
/api/social/sync POST signed in Refresh those channels.
/api/subject/disclose GET signed in A data-subject disclosure request.
/api/subject/erase GET signed in A data-subject erasure request.
/api/subject/preview POST signed in What an erasure would remove and what would be kept, without doing it.
/api/summary GET signed in Dashboard KPIs for a date range.
/api/telephony/provision GET signed in Whether each carrier number points at this deployment; POST points one here.
/api/vocab GET signed in Intents, outcomes and this workspace’s numbers, for rendering.
/api/voice/line GET no sign-in Speak one line of the landing page’s scripted call.
/api/voice/preview POST signed in Speak a sample in a workspace’s configured voice.
/api/voice/status GET no sign-in Whether speech playback is available at all.
/api/webhooks/deliveries GET signed in Outbound webhook attempts and their results.

Access. “no sign-in” routes are the eight the landing page reads signed-out. “sign-in flow” routes exist so somebody can sign in. Everything else needs a session, and every write on every path needs one. Operator routes are the platform surface, not a customer’s.
← Back to site