Documentation

Last updated July 7, 2026

Ask Tone API

The Ask Tone API does over HTTP what Ask Tone does in the app: it runs one prompt across a board of models and returns either every answer side by side or a single answer synthesized from all of them — agreement first, real divergence named.

The API is in private beta for Pro and Team accounts. Access is granted manually; request access and the team will issue your key.

Base URL

https://api.asktone.ai

The single endpoint is POST /synthesize. The same handler is also reachable at https://asktone.ai/api/v1/synthesize — the two forms are equivalent; use api.asktone.ai in new integrations.

A minimal request

curl https://api.asktone.ai/synthesize \
  -H "Authorization: Bearer $ASKTONE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Should we migrate from REST to GraphQL?"}'
{
  "id": "apiv1:9c2e6a9e-6f0d-4a2f-b1c8-3f6a1f2f9d10",
  "synthesis": "Both models agree that a wholesale migration is rarely justified...",
  "responses": [
    { "model": "claude-sonnet-4-6", "text": "...", "status": "complete" },
    { "model": "gpt-5-2", "text": "...", "status": "complete" }
  ],
  "creditsCharged": 3
}

That is the whole surface: one prompt in, per-model answers plus an optional synthesis out, and the exact number of credits the call cost. The quickstart walks through it step by step.

How a request is processed

Every call runs the same pipeline the app uses, in this order:

  1. Validate — the body is schema-checked before anything else happens. A malformed request is rejected with 400 and costs nothing.
  2. Authenticate — the bearer token is hashed and looked up; unknown, revoked, or missing tokens return 401. See authentication.
  3. Account gate — the key's owning account must be in good standing; otherwise 403.
  4. Rate limit — 30 requests per minute per key; over the window returns 429. See rate limits.
  5. Reserve credits — the estimated cost is deducted up front; if the balance cannot cover it, 402. See credits & billing.
  6. Fan out — every board model answers the prompt independently, in parallel.
  7. Synthesize — for mode: "synthesis", a dedicated synthesizer model (not part of your board) reconciles the completed answers into one.
  8. Settle — you are charged for completed work only; the undelivered portion of the reservation is refunded automatically, and creditsCharged reflects the final figure.

What the API does not do

  • It is stateless: no conversations, no history, no memory. Each call stands alone, and nothing you send is added to your chat history in the app.
  • It never returns token counts. Credits are the only usage unit.
  • Council mode is not available over the API during the beta — it is planned for a later release. Requesting mode: "council" returns 400.

Your prompts are processed under the same privacy posture as the app: we don't read your chats, and API content is never used to train any model.

Explore the docs

PageWhat it covers
QuickstartYour first request in five minutes, in curl, Node.js, and Python.
AuthenticationKeys, the reveal-once flow, revocation, and key hygiene.
SynthesizeThe full endpoint reference — every field, both modes, examples.
StreamingThe Server-Sent Events protocol, event by event.
ErrorsThe error envelope, every status you can observe, and retry guidance.
Rate limitsThe 30-requests-per-minute window and the other bounds.
Credits & billingWhat a call costs, how refunds settle, which pools are spent.
ChangelogVersioning policy and what has changed.

A machine-readable OpenAPI 3.1 description of the endpoint is also available.