Introduction
Welcome to the Tabbly API — build voice agent campaigns, manage agents, and retrieve call data.
Introduction
Welcome to the Tabbly Developer API. Use it to build voice automation at scale — create AI agents, buy phone numbers, run outbound campaigns, enable inbound calling, and retrieve call logs from your own applications.
What is the Tabbly API?
The Tabbly API lets you programmatically manage the same resources you configure in the Tabbly dashboard. You can create voice agents, attach phone numbers, schedule campaigns, add contacts, and pull transcripts and recordings — all over standard HTTP requests with JSON responses.
Whether you are integrating Tabbly into a CRM, building an internal ops tool, or automating outbound calling at scale, the API is designed to fit into your existing backend workflows.
Quick start
- Obtain your API key and organization ID from the Tabbly dashboard.
- Browse voices with Get Voices.
- (Optional) Search and buy phone numbers with Search Phone Numbers.
- Create a voice agent with Create Agent.
- (Optional) Enable inbound calling with Create Inbound.
- Create a campaign with Create Campaign and add contacts with Add Contacts.
- Retrieve call logs with Get Call Logs.
Base URLs
| Area | Base URL |
|---|---|
| Campaign endpoints | https://www.tabbly.io/dashboard/agents/endpoints/ |
| Agent & voice APIs | https://www.tabbly.io/api/ |
| Inbound calling APIs | https://www.tabbly.io/api/inbound/ |
| Phone number APIs | https://www.tabbly.io/api/phone-numbers/ |
Authentication
All Tabbly API endpoints require your organization API key from the Tabbly dashboard. How you send it depends on the HTTP method:
| HTTP method | How to authenticate |
|---|---|
| GET | Authorization: Bearer YOUR_API_KEY header |
| POST | "api_key": "YOUR_API_KEY" in the JSON request body |
In curl examples throughout this documentation, replace YOUR_API_KEY with your key.
How to get your API key
- Log in to the Tabbly dashboard.
- Open your organization settings and locate your API key and organization ID.
- Store the key securely — treat it like a password. Never commit it to source control or expose it in client-side code.
Response conventions
Most endpoints return a standard envelope:
{
"status": "success",
"data": { }
}Errors return status: "error" with a message field and an appropriate HTTP status code.
Alternate envelopes
Some endpoint groups use a slightly different shape:
| Endpoint group | Success | Error |
|---|---|---|
| Update Campaign | { success, message, data } |
{ error } |
| Get Agents / Get Voices | { status, data/count/voices } |
{ error } |
| Phone Numbers | { success, ... } |
{ success: false, error } |
HTTP status codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request — missing or invalid parameters |
| 401 | Unauthorized — invalid or missing API key |
| 403 | Forbidden — wrong organization, inactive subscription, or free-tier restriction |
| 404 | Resource not found |
| 405 | Method not allowed |
| 409 | Conflict (e.g. duplicate inbound phone) |
| 500 | Server error |
| 502 | External service failure (e.g. SIP provisioning) |
Need help?
Visit the Tabbly dashboard or contact your account team for API access and organization setup.