Agent/Create Signed Recording URL
GET /v1/agent/calls/{id}/recording/url

Create Signed Recording URL

Returns a time-limited signed URL for the call's voice recording, along with the moment it expires. The URL points at `GET /v1/agent/calls/{id}/recording` and carries a `token` query parameter, so it can be handed straight to an `<audio>` element without a session. The token is bound to that exact path and cannot be replayed against another call or against the admin-scope endpoint. The agent must be a participant on the call, and the workspace must allow agents to listen to or download recordings — otherwise `403`. Returns `404` when the call has no recording, or when the recording is not present on the shared volume; a URL is never issued for a file that cannot be served. Permission is checked when the URL is minted, not when it is redeemed, so a URL stays usable for its full lifetime even if access is revoked in the meantime. Keep `expires_in` short where that matters. The response is sent with `Cache-Control: no-store`.

Base URL https://api.{cluster}.{platform}.voiger.io
Request · cURL
curl https://api.{cluster}.{platform}.voiger.io/v1/agent/calls/{id}/recording/url?expires_in= \
  -H "Cookie: sid=$VOIGER_SESSION" \
  -H "x-workspace-code: your-workspace-code"

Parameters

x-workspace-code string required in header
id string required in path
expires_in integer optional in query
Lifetime of the signed URL in seconds. Defaults to 3600. Must be between 1 and 86400; anything larger is rejected.

Response

url
string Absolute URL to the recording stream, including the signed `token` query parameter.
expires_at
string The moment the signed URL stops being accepted.