ThinnestAI is now an Official Meta Tech Provider

For Developers

Voice and WhatsApp AI agent API,
built for developers

Ship AI agents with a REST API, an OpenAPI spec, signed webhooks, an MCP server and a settings console non-engineers can use. Curated models included, in-browser voice, and phone calls on your own number.

In short

Is there an API for AI voice and WhatsApp agents?

Yes. A REST API with a published OpenAPI spec lets you create agents, place calls, send WhatsApp templates and read calls and conversations, and signed webhooks tell your systems what happened. An MCP server exposes the same platform to AI coding assistants.

Which API address do I use?

The one for your workspace's region: https://dashboard.thinnest.ai/api/v1 for international workspaces (US, UK, UAE and the rest of the world) and https://app.thinnest.ai/api/v1 for India.

Market pages: US, UK, UAE, India.

Quickstart

Place your first call

Place an outbound voice call with a single API request. Pick your language — curl, Python, or JavaScript.

POST /api/v1/calls Live
agentag_your_agent_id
to+1 415 555 0134
customer_idcust_123
Call: call.id call.status

curl

# India workspaces: https://app.thinnest.ai/api/v1
# International workspaces: https://dashboard.thinnest.ai/api/v1
curl -X POST https://dashboard.thinnest.ai/api/v1/calls \
  -H "Authorization: Bearer $THINNESTAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+1 415 555 0134",
    "agent": "ag_your_agent_id",
    "purpose": "I am calling about your appointment on Friday.",
    "callingHours": { "start": "09:00", "end": "20:00" },
    "metadata": { "customer_id": "cust_123" }
  }'

Python

import os
import httpx

BASE = "https://dashboard.thinnest.ai/api/v1"  # India: https://app.thinnest.ai/api/v1

res = httpx.post(
    f"{BASE}/calls",
    headers={"Authorization": f"Bearer {os.environ['THINNESTAI_API_KEY']}"},
    json={
        "to": "+44 20 7946 0958",
        "agent": "ag_your_agent_id",
        "purpose": "I am calling about your appointment on Friday.",
        "metadata": {"customer_id": "cust_123"},
    },
)
call = res.json()
print("Call:", call["id"], call["status"])

JavaScript / TypeScript

const BASE = "https://dashboard.thinnest.ai/api/v1"; // India: https://app.thinnest.ai/api/v1

const res = await fetch(`${BASE}/calls`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.THINNESTAI_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    to: "+971 4 555 0134",
    agent: "ag_your_agent_id",
    purpose: "I am calling about your appointment on Friday.",
    metadata: { customerId: "cust_123" },
  }),
});

const call = await res.json();
console.log(`Call: ${call.id} ${call.status}`);

Calls ring only within the callingHours you set, on the called person's local time; with none set, any hour is allowed. Set them to what the law requires where you call — you are responsible for consent and Do Not Call screening. See voice campaigns.

Capabilities

Developer capabilities

REST API

Create and configure agents, place calls, send WhatsApp templates, manage contacts, knowledge and webhooks, and read calls and conversations — over HTTPS. OpenAPI spec published.

MCP server

Build and run agents from Claude Code, Cursor or VS Code. Nothing reaches a customer without your approval, and Build keys cannot message customers or place calls.

Signed outbound webhooks

Lead captured, escalation raised, conversation resolved, call finished, a call's results with its transcript, campaign finished and more — delivered to your endpoint with a signature you can verify.

In-browser and phone calls

Voice calls from your website in the browser, with no phone number needed, and phone calls on your own imported number — or, in India, a number from us. One agent runtime for both.

Events & transactional messaging

Post a fact from your backend (order.delivered, say) and it enrols the customer in a drip sequence. POST /api/v1/messages sends order confirmations and other approved templates, with idempotency keys, rate limits and API keys.

Full call log

Every call produces a transcript, a recording you can play back when recording is on, and an outcome — connected, busy, declined, unreachable or voicemail. Export the lot as CSV.

Use cases

What developers build on ThinnestAI

CRM eventOutbound callWebhook

01

Outbound call triggered by your CRM

Your CRM fires an event → ThinnestAI calls the lead in their language, within the calling hours you set → the outcome and collected fields come back to your CRM by webhook.

Talk to a voice agent

In the browser · no phone number

02

Voice and chat widget on your website

Add one script tag to your site or React / Next app. Visitors chat with your agent or click to talk to it in the browser, with no phone number required.

One agent per customer

03

Programmatic agent creation

Create and configure agents via REST — good for multi-tenant apps where each customer gets their own agent.

REST endpoint as a tool

04

Custom tool calling

Expose a REST endpoint as an action the agent can call — database lookups, order status, third-party APIs — one record at a time.

FAQ

Developer FAQ

Is there a free tier for developers?

+

Yes. The free trial needs no card and includes voice minutes and chat replies on curated, platform-managed models, so you can build your first agent without bringing any API keys. Plan details are on the pricing page.

Are there SDKs?

+

Python and TypeScript clients are generated from the OpenAPI spec, but they are not on PyPI or npm yet. Until they are, call the REST API directly from any language — curl, Python, JavaScript, Go, Ruby, PHP — or generate a client from the spec.

Do I need to bring my own provider API keys?

+

No. Speech recognition, the language model and the voice run on curated models included in your plan, so there is nothing to configure there. For phone calls outside India, import a number from your own Twilio, Telnyx or Plivo account; in India you can also buy a number from us or import a Plivo, Vobiz, Twilio or Telnyx number.

Is there an OpenAPI spec I can generate clients from?

+

Yes. The full OpenAPI spec is published at docs.thinnest.ai/api-reference. You can generate clients for any language with standard OpenAPI generator tools.

How do webhooks work?

+

Add an endpoint and choose its events — a lead, an escalation, a resolution, a finished call, a call's results with its transcript, a finished campaign and others. Each delivery carries a signature you verify with the secret shown once when you created the endpoint.

Can I use ThinnestAI from a serverless function?

+

Yes. The REST API works from any environment that can make HTTPS requests — AWS Lambda, Vercel Functions, Cloudflare Workers, Google Cloud Functions. Keep your API key on the server.

What's the rate limit?

+

Limits are counted per workspace, per minute, and placing calls is also held to your plan's concurrent lines. Over a limit you get 429 with a Retry-After header — honour it and retry.

Can I test without calling real customers?

+

Yes. Call your agent from the browser in the console, or use the MCP server's test chat, where anything that would contact a person is switched off.

Related: tool calling, transcripts and logs and pricing.

Start building on the free trial

No card required. Curated models are included, so you can build your first voice agent — in English, Spanish, Hindi or any of 50 voice languages — without bringing a single API key.