Skip to Content
API ReferenceRecordingsRecordings

Recordings

A recording is a single call audio file plus everything IdentityCall derives from it — transcription, speaker-attributed dialogue, emotion signals, goal evaluations, categories, and a summary. Recordings belong to exactly one project and are identified externally by a UUIDv7 public_id.

Endpoints

EndpointMethodDescription
/recordingsGETList recordings (filter, paginate, full-text search)
/recordingsPOSTUpload a new recording
/recordings/:idGETGet recording detail
/recordings/:idPATCHUpdate metadata or reassign to a different project
/recordings/:idDELETEDelete a recording (soft delete)
/recordings/:id/transcriptionGETGet the full transcription
/recordings/:id/resultsGETGet goal evaluations, pause analysis, and keyword detections
/recordings/:id/summaryGETGet the AI-generated call summary

The :id path parameter accepts either the UUID public_id (preferred, stable) or the legacy numeric id (back-compat).

Idempotency

POST /recordings accepts an optional external_id parameter. Re-POSTing with the same (project_id, external_id) tuple returns the existing recording with 200 OK — the file is not re-uploaded and transcription is not re-enqueued. Use this for retry-safe ingestion from your CRM or PBX.

Scopes

API key scopeBehavior
Account-wideproject_id is required on POST. Can read, update, and move recordings across any project in the account.
Project-scopedproject_id is optional on POST (defaults to the key’s project). Mismatched project_id returns 403.

See the OpenAPI spec for the full request/response schemas.