---
title: "Get Provider Recording Url"
method: GET
path: "/calls/{call_id}/provider-recording-url"
tags: ["calls"]
---

# Get Provider Recording Url

`GET /calls/{call_id}/provider-recording-url`

## Request

- Base URL: `https://dev.whispa.net` (the document declares no server; this is the origin it was published from)
- URL: `https://dev.whispa.net/calls/{call_id}/provider-recording-url`
- Auth: none declared

Mint a short-lived URL for a recording hosted by the telephony provider.

Only available for calls whose provider supports minting (TCN today;
404 for providers that don't, e.g. awsconnect refs deep-link to the
Connect console instead). The URL expires after ~10 minutes, so it is
minted per request and must not be cached beyond that. Returns 409
while the provider is still processing the recording (it lands a few
minutes after hangup).

Deliberately holds no request-scoped DB session: the provider HTTP
round-trip can hang for minutes, and a request cancelled mid-await with
a checked-out connection is the Sentry "garbage collector cleaning up
non-checked-in connection" signature.

## Path parameters

- `call_id` string, uuid, required

## Response `200`

Successful Response

- ProviderRecordingUrlResponse: Short-lived link to a recording hosted by the telephony provider. Minted per request from CallSession.provider_call_ref — TCN's signed URLs expire after ~10 minutes, so clients must fetch this on demand and never persist the URL.
  - `provider` string, required: Telephony provider hosting the recording
  - `url` string, required: Short-lived download/playback URL
  - `filename` string, nullable: Provider-side recording file name

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/whispa/apis/whispa-api.md) - [All operations](https://skmtc.dev/whispa/apis/whispa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/whispa/apis/whispa-api/revisions/12c2e4aca43c?raw)
