Skip to main content
GET
/
api
/
v1
/
campaigns
/
{campaign_id}
# Request 1: Get campaign details
curl -X GET "https://app.talkover.ai/api/v1/campaigns/campaign-uuid-1" \
  -H "Authorization: Bearer talq_your_environment_token_here"
{
  "success": true,
  "data": {
    "id": "campaign-uuid-1",
    "name": "Sales Campaign",
    "description": "Outbound sales campaign for Q1",
    "status": "active",
    "campaign_type": "sales",
    "start_date": "2024-01-01",
    "days_of_week": [1, 2, 3, 4, 5],
    "earliest_call_time": "09:00:00",
    "latest_call_time": "17:00:00",
    "timezone": "America/New_York",
    "agent_id": "agent-uuid-1",
    "initial_call_delay": 0,
    "max_retries": 3,
    "retry_cooldown_hours": 24,
    "enable_post_completion_cooldown": true,
    "post_completion_cooldown_hours": 168,
    "success_cooldown_hours": 168,
    "voicemail_cooldown_hours": 24,
    "no_answer_cooldown_hours": 24,
    "busy_cooldown_hours": 24,
    "failed_cooldown_hours": 24,
    "do_not_call_enabled": true,
    "do_not_call_list_source": "environment",
    "auto_add_to_dnc_enabled": true,
    "auto_dnc_trigger_statuses": ["completed", "voicemail"],
    "auto_dnc_trigger_errors": ["invalid_number", "disconnected"],
    "agent": {
      "id": "agent-uuid-1",
      "name": "Sales Agent",
      "label": "Sales Agent Label"
    },
    "calls": [
      {
        "id": "call-uuid-1",
        "to": "+1234567890",
        "status": "completed",
        "retries": 0,
        "created_at": "2024-01-01T00:00:00Z"
      },
      {
        "id": "call-uuid-2",
        "to": "+1987654321",
        "status": "failed",
        "retries": 1,
        "created_at": "2024-01-01T01:00:00Z"
      }
    ],
    "files": [
      {
        "id": "file-uuid-1",
        "original_filename": "contacts.csv",
        "processed_filename": "processed_contacts.csv",
        "status": "processed",
        "total_records": 1000,
        "processed_records": 950
      },
      {
        "id": "file-uuid-2",
        "original_filename": "leads.xlsx",
        "processed_filename": "processed_leads.csv",
        "status": "processing",
        "total_records": 500,
        "processed_records": 0
      }
    ],
    "stats": {
      "total_calls": 100,
      "completed_calls": 80,
      "failed_calls": 20,
      "success_rate": 80.0,
      "average_duration": 120
    },
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.talkover.ai/llms.txt

Use this file to discover all available pages before exploring further.

Get Campaign

Retrieve detailed information about a specific campaign, including its configuration, associated calls, uploaded files, and performance statistics.

Endpoint

GET /api/v1/campaigns/{campaign_id}

Path Parameters

campaign
string
required
The unique identifier of the campaign. You can find this in your dashboard under Campaigns.

Request Headers

Authorization
string
required
Bearer token for authentication. Format: Bearer talq_your_environment_token_here

Example Requests

# Request 1: Get campaign details
curl -X GET "https://app.talkover.ai/api/v1/campaigns/campaign-uuid-1" \
  -H "Authorization: Bearer talq_your_environment_token_here"
# Request 2: Get campaign with specific ID
curl -X GET "https://app.talkover.ai/api/v1/campaigns/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer talq_your_environment_token_here"

Response

Success Response (200 OK)

{
  "success": true,
  "data": {
    "id": "campaign-uuid-1",
    "name": "Sales Campaign",
    "description": "Outbound sales campaign for Q1",
    "status": "active",
    "campaign_type": "sales",
    "start_date": "2024-01-01",
    "days_of_week": [1, 2, 3, 4, 5],
    "earliest_call_time": "09:00:00",
    "latest_call_time": "17:00:00",
    "timezone": "America/New_York",
    "agent_id": "agent-uuid-1",
    "initial_call_delay": 0,
    "max_retries": 3,
    "retry_cooldown_hours": 24,
    "enable_post_completion_cooldown": true,
    "post_completion_cooldown_hours": 168,
    "success_cooldown_hours": 168,
    "voicemail_cooldown_hours": 24,
    "no_answer_cooldown_hours": 24,
    "busy_cooldown_hours": 24,
    "failed_cooldown_hours": 24,
    "do_not_call_enabled": true,
    "do_not_call_list_source": "environment",
    "auto_add_to_dnc_enabled": true,
    "auto_dnc_trigger_statuses": ["completed", "voicemail"],
    "auto_dnc_trigger_errors": ["invalid_number", "disconnected"],
    "agent": {
      "id": "agent-uuid-1",
      "name": "Sales Agent",
      "label": "Sales Agent Label"
    },
    "calls": [
      {
        "id": "call-uuid-1",
        "to": "+1234567890",
        "status": "completed",
        "retries": 0,
        "created_at": "2024-01-01T00:00:00Z"
      },
      {
        "id": "call-uuid-2",
        "to": "+1987654321",
        "status": "failed",
        "retries": 1,
        "created_at": "2024-01-01T01:00:00Z"
      }
    ],
    "files": [
      {
        "id": "file-uuid-1",
        "original_filename": "contacts.csv",
        "processed_filename": "processed_contacts.csv",
        "status": "processed",
        "total_records": 1000,
        "processed_records": 950
      },
      {
        "id": "file-uuid-2",
        "original_filename": "leads.xlsx",
        "processed_filename": "processed_leads.csv",
        "status": "processing",
        "total_records": 500,
        "processed_records": 0
      }
    ],
    "stats": {
      "total_calls": 100,
      "completed_calls": 80,
      "failed_calls": 20,
      "success_rate": 80.0,
      "average_duration": 120
    },
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z"
  }
}

Response Fields

success
boolean
required
Indicates if the operation was successful.
data
object
required
Campaign details object.

Error Responses

404 Not Found

{
  "success": false,
  "message": "Campaign not found"
}

401 Unauthorized

{
  "success": false,
  "message": "Unauthorized"
}

500 Server Error

{
  "success": false,
  "message": "Internal server error."
}

Error Codes

CodeDescriptionHTTP Status
CAMPAIGN_NOT_FOUNDSpecified campaign does not exist404
INVALID_TOKENAuthentication token is invalid or missing401
SERVER_ERRORInternal server error occurred500

Important Notes

Comprehensive data. This endpoint returns complete campaign information including calls, files, and statistics.
Real-time statistics. Campaign statistics are updated in real-time as calls are processed.
File processing status. Monitor file uploads and processing status through the files array.
Call history. View all calls associated with the campaign, including retry attempts.

Best Practices

  1. Monitor file processing - Check file status to ensure contacts are properly loaded
  2. Track call progress - Use the calls array to monitor individual call status
  3. Review statistics - Analyze success rates and average duration for optimization
  4. Handle errors - Implement proper error handling for missing campaigns
  5. Cache wisely - Campaign data can be cached but should be refreshed periodically
  • List Campaigns: GET /api/v1/campaigns
  • Create Campaign: POST /api/v1/campaigns
  • Update Campaign: PUT /api/v1/campaigns/{campaign_id}
  • Update Campaign Status: PATCH /api/v1/campaigns/{campaign_id}/status
  • Delete Campaign: DELETE /api/v1/campaigns/{campaign_id}
  • Make Campaign Call: POST /api/v1/campaigns/{campaign_id}/call