cURL
curl --request GET \ --url https://api.example.com/analytics/overview
{ "period": { "start_date": "<string>", "end_date": "<string>" }, "summary": { "total_calls": 123, "connected_calls": 123, "failed_calls": 123, "success_rate": 123, "total_duration_seconds": 123, "avg_duration_seconds": 123 }, "performance": { "avg_carrier_lag_ms": 123, "avg_ai_latency_ms": 123, "avg_gateway_processing_ms": 123, "avg_total_latency_ms": 123, "p95_latency_ms": 123, "p99_latency_ms": 123 }, "quality": { "avg_packet_loss_percent": 123, "avg_jitter_ms": 123, "codec_distribution": { "G711": 123, "G722": 123 } }, "by_provider": [ { "provider": "<string>", "call_count": 123, "success_rate": 123, "avg_latency_ms": 123 } ], "by_trunk": [ { "trunk_id": "<string>", "trunk_name": "<string>", "call_count": 123, "success_rate": 123 } ], "timeseries": [ { "timestamp": "<string>", "calls": 123, "avg_latency_ms": 123, "success_rate": 123 } ] }
Get aggregated analytics and statistics
daily
hourly
curl -X GET "https://api.telepathvoice.com/v1/analytics/overview?start_date=2024-03-01&end_date=2024-03-05" \ -H "Authorization: Bearer sk_live_abc123def456..." \ -H "Content-Type: application/json"
import requests from datetime import datetime, timedelta API_KEY = "sk_live_abc123def456..." headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # Get analytics for past 7 days end_date = datetime.now().date() start_date = end_date - timedelta(days=7) response = requests.get( "https://api.telepathvoice.com/v1/analytics/overview", headers=headers, params={ "start_date": start_date.isoformat(), "end_date": end_date.isoformat() } ) analytics = response.json()
{ "period": { "start_date": "2024-03-01", "end_date": "2024-03-05" }, "summary": { "total_calls": 5234, "connected_calls": 5087, "failed_calls": 147, "success_rate": 97.2, "total_duration_seconds": 892134, "avg_duration_seconds": 170 }, "performance": { "avg_carrier_lag_ms": 78, "avg_ai_latency_ms": 234, "avg_gateway_processing_ms": 21, "avg_total_latency_ms": 333, "p95_latency_ms": 612, "p99_latency_ms": 845 }, "quality": { "avg_packet_loss_percent": 0.31, "avg_jitter_ms": 8, "codec_distribution": { "G711": 23.4, "G722": 76.6 } }, "by_provider": [ { "provider": "openai", "call_count": 3142, "success_rate": 98.1, "avg_latency_ms": 287 }, { "provider": "elevenlabs", "call_count": 2092, "success_rate": 95.8, "avg_latency_ms": 401 } ], "by_trunk": [ { "trunk_id": "conn_abc123xyz", "trunk_name": "Customer Support", "call_count": 3421, "success_rate": 97.9 } ], "timeseries": [ { "timestamp": "2024-03-01", "calls": 1047, "avg_latency_ms": 328, "success_rate": 97.1 }, { "timestamp": "2024-03-02", "calls": 1053, "avg_latency_ms": 335, "success_rate": 97.4 } ] }
def daily_performance_report(api_key): """Generate daily performance report""" from datetime import datetime headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } today = datetime.now().date() response = requests.get( "https://api.telepathvoice.com/v1/analytics/overview", headers=headers, params={ "start_date": today.isoformat(), "end_date": today.isoformat() } ) data = response.json()['summary'] print(f"Daily Report for {today}") print(f"Total Calls: {data['total_calls']}") print(f"Success Rate: {data['success_rate']:.1f}%") print(f"Avg Duration: {data['avg_duration_seconds']}s")
def compare_providers(api_key): """Compare performance across AI providers""" headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } response = requests.get( "https://api.telepathvoice.com/v1/analytics/overview", headers=headers ) providers = response.json()['by_provider'] print("Provider Comparison") print("-" * 60) print(f"{'Provider':<20} {'Calls':<10} {'Success':<10} {'Latency':<10}") print("-" * 60) for p in providers: print(f"{p['provider']:<20} {p['call_count']:<10} {p['success_rate']:>8.1f}% {p['avg_latency_ms']:>9}ms")
def monitor_performance_trend(api_key, days=30): """Monitor performance trend over N days""" from datetime import datetime, timedelta headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } end_date = datetime.now().date() start_date = end_date - timedelta(days=days) response = requests.get( "https://api.telepathvoice.com/v1/analytics/overview", headers=headers, params={ "start_date": start_date.isoformat(), "end_date": end_date.isoformat(), "granularity": "daily" } ) timeseries = response.json()['timeseries'] # Find trend if len(timeseries) > 1: first_week = timeseries[:7] last_week = timeseries[-7:] first_avg = sum(d['avg_latency_ms'] for d in first_week) / len(first_week) last_avg = sum(d['avg_latency_ms'] for d in last_week) / len(last_week) trend = "improving" if last_avg < first_avg else "degrading" print(f"Latency is {trend}") print(f" First week: {first_avg:.0f}ms") print(f" Last week: {last_avg:.0f}ms")
def detect_anomalies(api_key): """Detect performance anomalies""" from statistics import mean, stdev headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } response = requests.get( "https://api.telepathvoice.com/v1/analytics/overview", headers=headers, params={"granularity": "hourly"} ) timeseries = response.json()['timeseries'] latencies = [d['avg_latency_ms'] for d in timeseries] if len(latencies) < 10: return avg = mean(latencies) std = stdev(latencies) print(f"Normal latency: {avg:.0f}ms ± {std:.0f}ms") print("\nAnomalies detected:") for point in timeseries: if abs(point['avg_latency_ms'] - avg) > 2 * std: print(f" {point['timestamp']}: {point['avg_latency_ms']}ms")