API Documentation

RESTful API with simple authentication

GET/audits

Returns a paginated list of your audit sessions, most recent first. Each audit includes the full result data (checks, scores, timing, etc.).

Headers

HeaderTypeRequiredDescription
X-API-KeystringRequiredYour API key (or use Authorization: Bearer)

Query Parameters

ParameterTypeRequiredDescription
limitnumberOptionalNumber of results (1-100, default 20)
cursorstringOptionalPagination 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"
}
FieldTypeDescription
auditsarrayList of full audit results
audits[].auditIdstringUnique audit identifier
audits[].scorenumberOverall score (0-100)
audits[].summarystringHuman-readable summary of results
audits[].checksobjectFull results keyed by check name
audits[].tracksToRegeneratearrayFiles flagged for regeneration with reasons
audits[].creditsUsednumberCredits charged for this audit
audits[].timingobjectProcessing time breakdown
nextCursorstring?Pass as cursor to fetch the next page. Absent when no more results.

Ready to integrate?