For developers

Voice AI in your product, with one API call

REST API and webhooks to let AI4CALL voice assistants call, answer and take action inside your systems. OpenAPI spec, copy-paste examples, no SDK to install.

Free trial with starting credit included.

  • REST · JSON
  • OpenAPI 3.0.3
  • HTTPS / TLS
  • /api/v1
# Have your AI assistant call a lead
curl -X POST https://client-api.ai4call.com/webhook/outbound_call \
  -H "x-client-email: you@company.com" \
  -H "x-portal-api-key: $AI4CALL_PORTAL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "assistantApiKey": "ast_xxx",
    "to": "+39081...",
    "from": "+3902...",
    "metadata": { "lead_id": "123" }
  }'
POST /webhook/outbound_call · the assistant dials the number and receives your metadata
Anatomy of a call

Where your code plugs in

One call, layer by layer: voice is only the first. Every row is a point where your code can step in.

Live Inbound · Appointments line · AI assistant 00:00 Demo
AI agent

Bianchi Clinic, good morning Marco. How can I help?

Voice
Understanding
Intent · rescheduleLLM Offer · 2 optionsLLM
Knowledge
Rescheduling rulesRAG
Systems
Caller recognized · Marco R.pre-call Calendar · availabilityMCP Outcome sent to your endpointhangup
Actions
Appointment moved · Fri 9:30tool
Human agent
Human agent available · transfer at any timeredirect
  1. 1

    Before answering

    Your server receives the caller's number, recognizes them and enriches the prompt with customer data.

    pre-call webhook
  2. 2

    During the conversation

    The LLM answers using the knowledge base and calls your tools whenever it needs data or actions.

    HTTP tools · MCP · RAG
  3. 3

    At hang-up

    Transfer, redirect or close. The AI extracts the fields you define and POSTs them to your hang-up URL.

    hang-up webhook
  4. 4

    Afterwards

    Call history, usage, tool and SMS events to feed into your CRM, data warehouse or BI.

    /account/analytics/*

Example: pre-call webhook

AI4CALL sends a POST to your endpoint. Reply with enable to accept or reject the call and with callerInfo to give the assistant context: the fields are added to the system prompt.

Full pre-call webhook spec →
Request to your server
POST https://yourserver.com/api/verify-caller
Content-Type: application/json

{
  "number": "+393331234567",
  "timestamp": "2025-12-13T10:30:00Z",
  "assistantId": "ast_abc123",
  "callId": "call_xyz789"
}
Your response
{
  "enable": true,
  "callerInfo": {
    "name": "Mario",
    "surname": "Rossi",
    "custom_field_1": "VIP since 2020"
  }
}
Integration surfaces

Five ways to connect AI4CALL to your code

Use only what you need: from a single webhook to fully automating the platform.

REST · OpenAPI 3

Platform REST API

Create and configure assistants, prompts, TTS/ASR/LLM voice, RAG knowledge bases, tools and analytics. Everything you do in the portal, done in code.

Webhook

Outbound calls

One POST from your backend and the assistant calls your customer, over the AI4CALL trunk or your own PBX. Pass custom metadata (lead, ticket, order) and find it again in analytics.

Inbound webhook

Pre-call webhook

Before the assistant answers, AI4CALL calls your endpoint with the caller's number. You decide whether to accept the call and what context to give the AI.

Function calling · MCP

Tools and MCP servers

Mid-call, the assistant invokes your APIs: look up customers, open tickets, check orders. Bearer, API Key or OAuth2 auth, or your own MCP server.

SIP · FreePBX

Telephony: SIP trunk and PBX

Connect the assistant to your phone system via SIP trunk or the FreePBX module, and keep the numbers and routing you already have.

API + portal

The portal is always there for you

The API doesn't replace the AI4CALL portal, it works alongside it with the same logic. Automate only what you need and use the web interface for everything else, with no need to build your own admin panel.

A typical flow: the team sets up and fine-tunes the assistant in the portal, while developers integrate outbound calls, webhooks and analytics via API.

  • Prompts, voices, models, tools and knowledge base configurable from the UI
  • Dashboard with call history, usage and top-ups
  • Phone numbers, users and profiles for your team
  • Plugin marketplace and notifications
Quickstart

From sign-up to first response in minutes

No SDK, no dependencies: any HTTP client will do.

  1. Create your account

    Sign up on the portal and create your first assistant. The trial includes credit for test calls.

    Go to the portal →
  2. Generate a portalApiKey

    Create one key per environment (test, production) in the portal. You send it in the headers together with your email.

    How to generate the API key →
  3. Make your first request

    List your assistants to get the assistantApiKey, then trigger an outbound call or configure prompt and voice.

terminal
curl https://client-api.ai4call.com/api/v1/assistants \
  -H "x-client-email: you@company.com" \
  -H "x-portal-api-key: $AI4CALL_PORTAL_KEY"
Response: your assistants as JSON
Endpoint map

The whole platform, via API

The main areas exposed by client-api.ai4call.com. Requests, responses and errors are documented in Swagger.

Assistants and prompts

GET · POST /api/v1/assistants GET · PATCH /api/v1/assistants/{key}/prompt

Voice: TTS, ASR, LLM, DTMF

PATCH /api/v1/assistants/{key}/runtime/{tts|asr|llm|dtmf} GET /api/v1/catalog/providers/tts

RAG knowledge base

/api/v1/catalog/rag/… PATCH /api/v1/assistants/{key}/runtime/rag

Tools

GET /api/v1/catalog/tools PATCH /api/v1/assistants/{key}/runtime/tools

Pre-call

/api/v1/assistants/{key}/runtime/precall/number-validation /api/v1/assistants/{key}/runtime/precall/mcp-config

Hang-up and post-call

PATCH /api/v1/assistants/{key}/runtime/hangup …/runtime/hangup/save-conversation · /schema

Outbound calls

POST /webhook/outbound_call POST /webhook/outbound_call_pbx

Analytics

GET /api/v1/account/analytics/calls …/calls-outbound · /recharges · /tool-responses

Account and security

GET · PATCH /api/v1/account/allowed-ips GET · PATCH /api/v1/account/call-limits
Model choice

You choose the LLM, voice and transcription

No lock-in to a single vendor: for each assistant, pick the model that best fits quality, cost, latency and privacy requirements. Switch any time, via API too.

LLM

20 provider
  • OpenAI
  • OpenAI EU
  • Anthropic
  • Google
  • Mistral
  • Azure OpenAI
  • Azure Foundry · API Key
  • Azure Foundry · Entra ID
  • Vertex AI
  • AWS Bedrock
  • xAI
  • OpenRouter
  • DeepInfra
  • IONOS
  • Nebius
  • OVHcloud
  • Perplexity
  • Scaleway
  • Together AI
  • Ollama

Realtime voice (audio-to-audio)

2 provider
  • Google Gemini realtime
  • OpenAI realtime

Text-to-speech (TTS)

5 provider
  • Azure
  • ElevenLabs
  • Google
  • KugelAudio
  • Mistral

Transcription (ASR)

3 provider
  • Azure
  • Mistral
  • OpenAI Whisper
GDPR

A pipeline that fits GDPR requirements

Where call data is processed also depends on the models you use. With AI4CALL you compose the pipeline around your own and your customers' privacy requirements.

European providers

Mistral, IONOS, OVHcloud and Scaleway, or OpenAI models served from the European endpoint (OpenAI EU).

Your cloud, your region

Azure OpenAI, Azure Foundry, Vertex AI and AWS Bedrock with your own credentials: models run in your account, in the region you configure.

Self-hosted

Connect Ollama to your private or on-premise endpoint and keep LLM inference on your own infrastructure.

Each assistant's provider and model can also be changed via API, without going through the portal:

PATCH /api/v1/assistants/{key}/runtime/llm
BYOK · Bring Your Own Key

Use your own provider keys

With BYOK you connect the credentials of your own provider account (API key, service account, IAM keys or token) to AI4CALL instead of AI4CALL's. Model requests run from your account and the provider bills you directly.

Pay the provider directly

Usage of the component you run on your key (LLM, voice or transcription) doesn't draw down your AI4CALL top-up credit.

No markup at volume

At high volumes it's the most cost-effective option: you pay the rates in your own provider contract, with no markup.

You own the provider relationship

Account, region and data processing agreement (DPA) are managed by you directly with the provider: one more lever for GDPR requirements.

More models available

Some providers are only available with your own credentials, e.g. Anthropic, Google Gemini, OpenRouter, Vertex AI and AWS Bedrock.

Production ready

Built to run in production, not just in demos

Two-level authentication

Email and portalApiKey in headers for the account, assistantApiKey in the path for a single assistant. HTTPS only.

IP allowlist

Restrict API access to your own servers, managing the list via /account/allowed-ips.

Call limits

Read and tune concurrent and per-period calls with /account/call-limits.

Stable versioning

Endpoints live under /api/v1. Breaking changes will ship in a new major version, with a transition period.

Data in Europe

Servers in Europe and GDPR compliance. Public health check at GET /health for your monitoring.

Developer questions

Yes. The Trial plan includes starting credit for test calls. To keep test and production apart you can use dedicated credentials; if you need an extra test account, contact us from the portal.

The API is standard REST/JSON described in OpenAPI 3.0.3, so it works with any HTTP client. From Swagger you can download openapi.yaml and generate a typed client with tools such as OpenAPI Generator.

Define the properties to extract (e.g. customer_email, outcome) and a hang-up URL: when the call ends you receive a POST with the extracted data. You can also get the full transcript by email.

Yes, with custom tools: define endpoint, HTTP method, parameters and authentication (Bearer, API Key, OAuth2) and the AI invokes them when needed. For more structured integrations you can connect your own MCP server.

The main constraint is the number of concurrent and per-period calls in your plan, which you can read and adjust with /account/call-limits. For high-volume use cases, contact us for a dedicated plan.

Usage depends on your plan (pay-as-you-go or with included minutes). On the Trial and Freedom plans you can bring your own API keys for LLMs and voices and pay the provider directly. Details on the pricing page.

All business endpoints are versioned under /api/v1/. Any breaking changes will ship in /api/v2/, with v1 kept running during the transition.

Yes. You can choose European providers (Mistral, IONOS, OVHcloud, Scaleway), OpenAI's European endpoint, your own Azure, Vertex AI or AWS Bedrock accounts in the region you prefer, or a self-hosted model with Ollama. The final compliance assessment rests with the data controller: contact us for specific cases.

Start building today

Create an account, generate your key and place your first AI call from code. Got a complex project? Let's talk it through with our engineering team.


Some of the ai4call users
AI4Call Demo

Chiama e prova la qualità dei nostri assistenti A.I.