API Documentation
Integrate AI Calls into your application using our REST API
Authentication
All API requests require authentication via API key
Include your API key in the X-API-Key header with every request. API keys start with kate_.
X-API-Key: kate_your_api_key_here
Contact support to get your API key, or find it in your account settings.
Code Examples
Quick start examples in popular languages
curl -X POST "https://calls.thescrollstudio.com/api/v1/calls/initiate" \
-H "X-API-Key: kate_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"phone_number": "+14155551234"}'Calls
POST
/api/v1/calls/initiateAuth RequiredInitiate an outbound call
Request Body
{
"phone_number": "+14155551234",
"profile_id": "uuid (optional)",
"custom_data": {}
}Response
{
"id": "uuid",
"phone_number": "+14155551234",
"status": "pending",
"direction": "outbound",
"profile_id": "uuid",
"created_at": "2024-01-15T10:30:00Z"
}GET
/api/v1/calls/{call_id}Auth RequiredGet details of a specific call
Response
{
"id": "uuid",
"phone_number": "+14155551234",
"status": "completed",
"direction": "outbound",
"profile_id": "uuid",
"duration_seconds": 180,
"cost_total": 0.25,
"outcome": "sale",
"started_at": "2024-01-15T10:30:00Z",
"ended_at": "2024-01-15T10:33:00Z"
}GET
/api/v1/callsAuth RequiredList calls with optional filtering
Response
{
"items": [...],
"total": 100,
"skip": 0,
"limit": 50
}Profiles
GET
/api/v1/profilesAuth RequiredList all profiles
Response
{
"items": [
{
"id": "uuid",
"name": "Kate - Sales",
"persona_name": "Kate",
"persona_role": "Sales Representative",
"is_active": true
}
],
"total": 5
}Campaigns
GET
/api/v1/campaignsAuth RequiredList all campaigns
Response
{
"items": [
{
"id": "uuid",
"name": "Q1 Outreach",
"status": "active",
"profile_id": "uuid",
"total_contacts": 500,
"completed_contacts": 150,
"successful_contacts": 45
}
],
"total": 10,
"skip": 0,
"limit": 50
}POST
/api/v1/campaigns/{campaign_id}/contactsAuth RequiredAdd contacts to a campaign
Request Body
[
{
"phone_number": "+14155551234",
"name": "John Smith",
"email": "john@example.com",
"company": "Acme Corp",
"timezone": "America/New_York",
"custom_data": {}
}
]Response
{
"message": "Added 1 contacts",
"added": 1
}