Quickstart
In a few minutes you’ll create an API key, fetch the list of projects, and place your first outbound call through the MAIA public REST API.
API base URL: https://api.maia-ai.com
Step 1. Create an API key
- Sign in to your dashboard at dashboard.maia-ai.com.
- Open the API & MCP section → API tab → Create key.
- Choose the scopes:
readfor reading,writefor placing calls. - Copy the key. It is shown only once — store it somewhere safe.
The key looks like maia_YOUR_KEY and is passed in every request via one of two headers:
X-API-Key: maia_YOUR_KEYAuthorization: Bearer maia_YOUR_KEYStep 2. First request — list projects
Let’s verify the key and fetch your projects (requires the read scope):
curl https://api.maia-ai.com/v1/public/projects \
-H "X-API-Key: maia_YOUR_KEY"Example response:
{
"projects": [
{
"id": "3f8a1c2e-0b44-4e7a-9d11-7c2e5b6a90ff",
"name": "Sales team",
"language": "en"
}
]
}Copy the id of the project you need — you’ll use it to place a call.
Step 3. Place an outbound call
Send POST /v1/public/calls with the project_id and the recipient’s phone (requires the write scope):
curl -X POST https://api.maia-ai.com/v1/public/calls \
-H "X-API-Key: maia_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "3f8a1c2e-0b44-4e7a-9d11-7c2e5b6a90ff",
"phone": "+79991234567",
"task": "Confirm the appointment tomorrow at 3:00 PM",
"vars": { "client_name": "John" }
}'The task and vars fields are optional. Before starting, the API checks project ownership, an active subscription, and the balance (≥ price per minute).
Example response:
{
"id": "a1b2c3d4-5e6f-7081-9a2b-3c4d5e6f7081",
"status": "queued"
}Step 4. Check the call status
Request the call details by its id (requires the read scope):
curl https://api.maia-ai.com/v1/public/calls/a1b2c3d4-5e6f-7081-9a2b-3c4d5e6f7081 \
-H "X-API-Key: maia_YOUR_KEY"The response includes the status, duration, transcript, and a link to the recording (as the call becomes available).
What’s next
- REST API — full description of endpoints and parameters.
- Real-time voice — a live voice conversation with the agent from a device, app, or SDK over WebRTC.
- API Reference — interactive reference.
- Authentication — keys and access scopes.
- MCP server — connecting to Claude and other MCP clients.