Quickstart Guide
Get up and running with CallCov in just 5 minutes. This guide will walk you through creating an account, getting your API key, and submitting your first analysis.
Prerequisitesβ
- A valid email address
- A call recording file (WAV, MP3, or other supported format)
- cURL, Python, or Node.js installed (for API requests)
Step 1: Create Your Accountβ
Sign up for a CallCov account at https://callcov.com/register.
curl -X POST https://api.callcov.com/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "your@email.com",
"password": "YourSecurePassword123!",
"phone_number": "+1234567890"
}'
Step 2: Verify Your Emailβ
Check your inbox for a verification email and click the link, or verify via API:
curl -X POST https://api.callcov.com/api/v1/auth/verify-email \
-H "Content-Type: application/json" \
-d '{
"token": "your-verification-token"
}'
Step 3: Login & Get Access Tokenβ
curl -X POST https://api.callcov.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "your@email.com",
"password": "YourSecurePassword123!"
}'
Response:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "bearer"
}
Step 4: Create an API Keyβ
API keys are recommended for server-to-server integrations:
curl -X POST https://api.callcov.com/api/v1/api-keys/ \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My First API Key"
}'
Response:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"key": "sk_live_abc123...",
"name": "My First API Key",
"key_prefix": "sk_live_abc1",
"created_at": "2025-01-15T10:30:00Z"
}
Save your API key securely! It will only be shown once. If you lose it, you'll need to create a new one.
Step 5: Submit Your First Analysisβ
Now you're ready to analyze a call! You can submit audio via URL or file upload.
Option A: Submit via Audio URLβ
curl -X POST https://api.callcov.com/api/v1/analysis/ \
-H "Authorization: Bearer sk_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"audio_url": "https://example.com/call-recording.wav",
"agent_id": "agent_001",
"contact_id": "customer_12345",
"webhook_url": "https://your-app.com/webhooks/analysis"
}'
Option B: Upload Audio Fileβ
curl -X POST https://api.callcov.com/api/v1/analysis/ \
-H "Authorization: Bearer sk_live_abc123..." \
-F "audio_file=@/path/to/call-recording.wav" \
-F "agent_id=agent_001" \
-F "contact_id=customer_12345"
Python Exampleβ
import requests
url = "https://api.callcov.com/api/v1/analysis/"
headers = {
"Authorization": "Bearer sk_live_abc123..."
}
data = {
"audio_url": "https://example.com/call-recording.wav",
"agent_id": "agent_001",
"contact_id": "customer_12345"
}
response = requests.post(url, headers=headers, json=data)
analysis = response.json()
print(f"Analysis ID: {analysis['id']}")
Node.js Exampleβ
const axios = require('axios');
const response = await axios.post(
'https://api.callcov.com/api/v1/analysis/',
{
audio_url: 'https://example.com/call-recording.wav',
agent_id: 'agent_001',
contact_id: 'customer_12345'
},
{
headers: {
'Authorization': 'Bearer sk_live_abc123...'
}
}
);
console.log(`Analysis ID: ${response.data.id}`);
Step 6: Retrieve Your Resultsβ
The analysis runs asynchronously. You can poll for results or use webhooks.
Poll for Resultsβ
curl -X GET https://api.callcov.com/api/v1/analysis/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer sk_live_abc123..."
Response:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"object": "analysis",
"created": 1642248000,
"status": "completed",
"audio": {
"url": "https://s3.amazonaws.com/...",
"duration_seconds": 125.5,
"format": "wav"
},
"transcript": {
"text": "Agent: Hello, thank you for calling...",
"segments": [...]
},
"results": {
"compliance": {
"identity_verification": {
"performed": true,
"confidence": 0.95,
"evidence": "Agent asked for account number and verified DOB"
},
"privacy_protection": {
"performed": true,
"confidence": 0.92,
"evidence": "Privacy policy disclosure provided"
}
},
"quality": {
"sentiment_analysis": {
"overall_sentiment": "positive",
"customer_sentiment": "satisfied",
"agent_sentiment": "professional"
},
"call_resolution": {
"resolved": true,
"confidence": 0.88
}
},
"coaching": {
"customer_effort_score": 2,
"recommendations": [
"Great job personalizing the interaction",
"Consider reducing hold time"
]
}
}
}
Use Webhooks (Recommended)β
Instead of polling, receive real-time notifications:
curl -X POST https://api.callcov.com/api/v1/analysis/550e8400-e29b-41d4-a716-446655440000/webhook \
-H "Authorization: Bearer sk_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"webhook_url": "https://your-app.com/webhooks/analysis"
}'
Your webhook endpoint will receive the complete analysis when it's done.
Understanding the Resultsβ
CallCov provides three categories of insights:
Complianceβ
- Identity Verification: Was the customer's identity properly verified?
- Privacy Protection: Were privacy disclosures provided?
- Regulatory Adherence: Did the call follow required procedures?
Qualityβ
- Sentiment Analysis: How did the customer and agent feel?
- Call Resolution: Was the issue resolved?
- Professionalism: How professional was the interaction?
Coachingβ
- Customer Effort Score: How easy was it for the customer? (1-5 scale)
- Recommendations: Specific suggestions for improvement
- Strengths: What the agent did well
Next Stepsβ
Congratulations! You've successfully submitted and retrieved your first analysis. Here's what to explore next:
π Authentication
Learn about API keys and JWT tokens
π‘ Webhooks
Get real-time notifications
π³ Billing
Understand pricing and usage
Supportβ
Need help? We're here for you:
- Documentation: Browse our comprehensive API Reference
- Email: support@callcov.com
- Status: status.callcov.com