Built for developers.
A powerful REST API, SDKs in every language, and webhooks that let you build an entire voice AI backend in minutes.
API-first architecture.
Trigger outbound calls, update prompts dynamically, and fetch call logs with our powerful REST API. You can literally build an entire call center backend in 5 lines of code.
import { CallCenter } from '@callcenter/sdk';
const client = new CallCenter(process.env.API_KEY);
// Trigger an outbound call instantly
await client.calls.create({
agentId: 'ag_2f93ndk10',
to: '+15550192834',
variables: {
customerName: 'John Doe',
appointmentTime: '3:00 PM'
}
});
// Agent handles the rest using RAG.API Endpoints
Core endpoints to manage agents and calls programmatically.
/v1/agents/v1/calls/v1/calls/v1/calls/:id/transcript/v1/agents/:id/v1/agents/:idSDK Examples
Get started in your language of choice.
import { CallCenter } from '@callcenter/sdk';
const client = new CallCenter(process.env.API_KEY);
// Create an agent
const agent = await client.agents.create({
name: 'Support Agent',
prompt: 'You are a helpful support agent...',
voice: 'alloy',
language: 'en-US',
});
// Make a call
const call = await client.calls.create({
agentId: agent.id,
to: '+15550192834',
variables: { customerName: 'Jane Doe' },
});
console.log(`Call initiated: ${call.id}`);from callcenter import CallCenter
client = CallCenter(api_key=os.environ["API_KEY"])
# Create an agent
agent = client.agents.create(
name="Support Agent",
prompt="You are a helpful support agent...",
voice="alloy",
language="en-US",
)
# Make a call
call = client.calls.create(
agent_id=agent.id,
to="+15550192834",
variables={"customer_name": "Jane Doe"},
)
print(f"Call initiated: {call.id}")# Create an agent
curl -X POST https://api.callcenter.ai/v1/agents \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Support Agent",
"prompt": "You are a helpful support agent...",
"voice": "alloy",
"language": "en-US"
}'
# Make a call
curl -X POST https://api.callcenter.ai/v1/calls \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agentId": "ag_2f93ndk10",
"to": "+15550192834",
"variables": { "customerName": "Jane Doe" }
}'Webhook Events
Subscribe to real-time events and build reactive integrations.
call.startedFired when a call is connected and the agent begins speaking
call.endedFired when a call ends, includes duration, cost, and summary
call.transferredFired when the agent transfers a call to a human or external number
transcript.readyFired when the full call transcript is processed and available
agent.errorFired when an agent encounters an unrecoverable error during a call
call.recording.readyFired when the call recording has been processed and stored
Rate Limits
Generous limits that scale with your plan.
Free
Pro
Enterprise
All responses include X-RateLimit-Remaining and X-RateLimit-Reset headers. Rate limited requests return 429 with a Retry-After header.
View the full documentation
Comprehensive guides, API references, and examples for every endpoint.
View Full Docs