API Reference
Complete reference for all Auralytik REST API endpoints. Every request requires authentication and returns JSON responses.
Overview
| Base URL | https://api.auralytik.ai/api/v1 |
| Protocol | HTTPS only (TLS 1.2+) |
| Content Type | application/json |
| Authentication | X-Api-Key header + HMAC request signing. Learn more |
| Swagger UI | api.auralytik.ai/swagger |
| Health Check | GET /health (no authentication required) |
Response Format
Success Response
{
"data": { ... },
"meta": {
"requestId": "req_abc123",
"timestamp": "2026-03-30T12:00:00Z"
},
"pagination": {
"page": 1,
"pageSize": 25,
"totalCount": 142,
"totalPages": 6
}
}Error Response
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests.",
"requestId": "req_abc123",
"retryAfter": 30
}
}Endpoints
All paths are relative to the base URL.
Evaluations
evaluations:read
| Method | Endpoint |
|---|---|
| GET | /evaluationsList evaluations with filters |
| GET | /evaluations/{id}Get evaluation by ID |
| GET | /evaluations/{id}/transcriptGet transcript |
| GET | /evaluations/{id}/resultsGet AI analysis results |
Audio Files
audio:readaudio:downloadaudio:write
| Method | Endpoint |
|---|---|
| GET | /audio-filesList audio files with filters |
| GET | /audio-files/{id}Get audio file by ID |
| GET | /audio-files/{id}/download-urlGet download URL (SAS token) |
| GET | /audio-files/{id}/transcriptGet transcript |
| POST | /audio-files/upload-urlGet pre-signed upload URL |
| POST | /audio-files/{id}/processTrigger AI processing |
| GET | /audio-files/{id}/processing-statusCheck processing status |
Analytics
analytics:readanalytics:export
| Method | Endpoint |
|---|---|
| GET | /analytics/summaryGet analytics summary |
| GET | /analytics/campaignsCampaign-level analytics |
| GET | /analytics/call-centersCall center analytics |
| GET | /analytics/executivesExecutive performance analytics |
| GET | /analytics/trendsTrend data over time |
| POST | /analytics/exportStart analytics export job |
| GET | /analytics/export/{jobId}Get export job status |
Engagements
engagements:readengagements:write
| Method | Endpoint |
|---|---|
| GET | /engagementsList engagements |
| GET | /engagements/{id}Get engagement by ID |
| POST | /engagementsCreate engagement |
| PATCH | /engagements/{id}Update engagement |
Conversations
conversations:read
| Method | Endpoint |
|---|---|
| GET | /conversationsList conversations |
| GET | /conversations/{id}Get conversation by ID |
| GET | /conversations/{id}/messagesGet conversation messages |
Voice Calls
voice:read
| Method | Endpoint |
|---|---|
| GET | /voice-callsList voice calls |
| GET | /voice-calls/{id}Get voice call by ID |
| GET | /voice-calls/{id}/recording-urlGet recording URL |
| GET | /voice-calls/{id}/epa-resultsGet EPA analysis results |
Campaigns
campaigns:read
| Method | Endpoint |
|---|---|
| GET | /campaignsList campaigns |
| GET | /campaigns/{id}Get campaign by ID |
Webhooks
webhooks:manage
| Method | Endpoint |
|---|---|
| GET | /webhooksList webhook subscriptions |
| POST | /webhooksCreate webhook subscription |
| PATCH | /webhooks/{id}Update webhook |
| DELETE | /webhooks/{id}Delete webhook |
| POST | /webhooks/{id}/testSend test event |
| GET | /webhooks/{id}/deliveriesGet delivery history |
API Keys
keys:manage
| Method | Endpoint |
|---|---|
| GET | /api-keysList API keys |
| POST | /api-keysCreate API key |
| PATCH | /api-keys/{id}Update API key |
| DELETE | /api-keys/{id}Revoke API key |
| POST | /api-keys/{id}/rotateRotate API key secret |
Usage
usage:read
| Method | Endpoint |
|---|---|
| GET | /usage/summaryGet usage summary for billing period |
| GET | /usage/detailsGet detailed usage records |
| GET | /usage/by-keyGet usage breakdown by API key |
Error Codes
| HTTP | Code |
|---|---|
| 401 | INVALID_API_KEYAPI key is missing, malformed, or revoked |
| 401 | INVALID_SIGNATUREHMAC signature does not match |
| 401 | TIMESTAMP_EXPIREDRequest timestamp is outside the allowed window |
| 403 | INSUFFICIENT_SCOPEAPI key lacks the required scope for this endpoint |
| 403 | IP_NOT_ALLOWEDRequest origin IP is not in the allowlist |
| 404 | RESOURCE_NOT_FOUNDThe requested resource does not exist |
| 429 | RATE_LIMIT_EXCEEDEDToo many requests; retry after the indicated period |
| 500 | INTERNAL_ERRORUnexpected server error; contact support if persistent |
| 503 | SERVICE_UNAVAILABLEService is temporarily unavailable; retry with backoff |
Authentication required
Every request (except /health) must include a valid X-Api-Key header and HMAC signature.