Skip to main content
Yotel records all answered calls by default. Recordings are stored in GCP Cloud Storage and accessed via signed URLs or a streaming proxy. Voice agent calls produce stereo recordings (left channel = caller, right channel = AI).

Get a recording signed URL

Returns a JSON response with a time-limited signed URL and metadata.
Scope: calls:read  |  Status: 200 OK

Response

The signed URL expires after 7 days. For long-lived access, use the audio streaming endpoint below or re-fetch the signed URL.

Stream recording audio

Returns the raw audio bytes directly. Use this for server-side processing pipelines or when you need a stable URL that doesn’t expire.
Scope: recordings:download  |  Status: 200 OK Returns audio/wav content type with Cache-Control: private, max-age=300. The response is chunked (64 KiB chunks) for memory efficiency.
The recordings:download scope is separate from calls:read. A key with only calls:read can fetch the signed URL (JSON) but cannot stream the raw audio.

Stereo recordings

When a voice agent handles a call, Yotel records in stereo:
  • Left channel — caller (PSTN audio)
  • Right channel — AI agent (WebSocket audio)
Use the stereo field in the signed URL response to detect this. Stereo recordings enable speaker diarisation without additional processing.

Compliance

Every recording access (both signed URL and stream) is logged to an internal audit table. The log captures the accessor identity, access method, and timestamp for compliance purposes.

Errors