Skip to main content
Retrieve detailed information about a specific campaign, including contact statistics, templates, and configuration.

Path Parameters

  • campaign_id (integer, required): The unique identifier of the campaign

Response

Returns the complete campaign object with all configuration and statistics.
Response
{
  "id": 42,
  "name": "February Appointment Reminders",
  "description": "Reminder calls for February appointments",
  "campaign_type": "call",
  "status": "running",
  "assistant_id": 123,
  "assistant_name": "Appointment Bot",
  
  "welcome_message_template": "Hi {{name|title_case}}, this is {{assistant_name}} calling from {{company}}.",
  "agenda_template": "I'm calling to remind you about your appointment on {{appointment_date}}.",
  "end_call_message_template": "Thank you for your time, {{name}}. Have a great day!",
  "sms_message_template": null,
  "fallback_values": {
    "name": "there",
    "company": "our office"
  },
  "variable_mappings": {
    "Phone": "phone_number",
    "Name": "name",
    "Appointment Date": "appointment_date"
  },
  "available_variables": ["name", "phone_number", "appointment_date", "company"],
  
  "max_attempts": 3,
  "retry_delay_minutes": 60,
  
  "total_contacts": 250,
  "completed_contacts": 125,
  "failed_contacts": 10,
  
  "created_at": "2024-02-01T10:00:00Z",
  "updated_at": "2024-02-05T14:30:00Z",
  
  "last_import_file_name": "contacts_february.csv",
  "last_import_date": "2024-02-01T10:30:00Z",
  "last_import_row_count": 250
}

Response Fields

FieldDescription
idUnique campaign identifier
nameCampaign name
descriptionCampaign description
campaign_typeType: call, sms, or mixed
statusCurrent status
assistant_idAssociated assistant ID
assistant_nameName of the associated assistant
welcome_message_templateOpening message template
agenda_templateCall agenda template
end_call_message_templateClosing message template
sms_message_templateSMS message template
fallback_valuesDefault values for missing variables
variable_mappingsColumn to variable mappings
available_variablesList of detected variables
max_attemptsMaximum retry attempts
retry_delay_minutesDelay between retries
total_contactsTotal number of contacts
completed_contactsSuccessfully contacted
failed_contactsFailed contact attempts
last_import_file_nameName of last imported file
last_import_dateDate of last import
last_import_row_countRows in last import

Example Code

cURL
curl -X GET "https://api.burki.dev/api/v1/campaigns/42" \
  -H "Authorization: Bearer YOUR_API_KEY"
Python
import requests

response = requests.get(
    "https://api.burki.dev/api/v1/campaigns/42",
    headers={"Authorization": "Bearer YOUR_API_KEY"}
)

campaign = response.json()
print(f"Campaign: {campaign['name']}")
print(f"Status: {campaign['status']}")
print(f"Progress: {campaign['completed_contacts']}/{campaign['total_contacts']}")
JavaScript
const response = await fetch("https://api.burki.dev/api/v1/campaigns/42", {
  headers: {
    "Authorization": "Bearer YOUR_API_KEY"
  }
});

const campaign = await response.json();
console.log(`Campaign: ${campaign.name}`);
console.log(`Status: ${campaign.status}`);
console.log(`Progress: ${campaign.completed_contacts}/${campaign.total_contacts}`);

Error Responses

Status CodeDescription
404Campaign not found
401Unauthorized - invalid or missing API key
403Forbidden - campaign belongs to different organization