API Documentation
RESTful API with simple authentication
GET
/auditsReturns a paginated list of your audit sessions, most recent first. Each audit includes the full result data (checks, scores, timing, etc.).
Headers
| Header | Type | Required | Description |
|---|---|---|---|
| X-API-Key | string | Required | Your API key (or use Authorization: Bearer) |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | number | Optional | Number of results (1-100, default 20) |
| cursor | string | Optional | Pagination cursor from a previous response's nextCursor |
Examples
curl https://api.ttsaudit.com/v1/audits?limit=5 -H "X-API-Key: YOUR_API_KEY"
curl "https://api.ttsaudit.com/v1/audits?limit=5&cursor=NEXT_CURSOR_VALUE" -H "X-API-Key: YOUR_API_KEY"
Response
{
"audits": [
{
"auditId": "5cc15c75434c42c380d929bea6c7dcf2",
"fileCount": 12,
"fileNames": ["ch1.mp3", "ch2.mp3", "..."],
"selectedAnalyses": ["comparison", "quality", "scriptAccuracy"],
"accuracy": "standard",
"score": 87.3,
"summary": "Speaker consistency 94.2% across 12 files. 1 file flagged.",
"regenCount": 1,
"tracksToRegenerate": [
{ "file": "ch7.mp3", "reasons": [{ "check": "quality", "message": "Low SNR" }] }
],
"checks": {
"comparison": { "score": 94.2, "summary": "..." },
"quality": { "score": 80.5, "summary": "..." }
},
"creditsUsed": 36,
"audioUrls": ["https://...ch1.mp3", "https://...ch2.mp3"],
"timing": { "decode": 2.5, "checks": 11.9, "total": 15.1 },
"source": "api",
"createdAt": "2026-03-09T13:11:37.816676+00:00"
}
],
"nextCursor": "a553b4ba8bb249f38e909c05005425d4"
}| Field | Type | Description |
|---|---|---|
| audits | array | List of full audit results |
| audits[].auditId | string | Unique audit identifier |
| audits[].score | number | Overall score (0-100) |
| audits[].summary | string | Human-readable summary of results |
| audits[].checks | object | Full results keyed by check name |
| audits[].tracksToRegenerate | array | Files flagged for regeneration with reasons |
| audits[].creditsUsed | number | Credits charged for this audit |
| audits[].timing | object | Processing time breakdown |
| nextCursor | string? | Pass as cursor to fetch the next page. Absent when no more results. |