curl --request GET \
--url https://julian.11x.ai/api/v1/recordings/{callId} \
--header 'x-api-key: <api-key>'import requests
url = "https://julian.11x.ai/api/v1/recordings/{callId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://julian.11x.ai/api/v1/recordings/{callId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"callId": "call.abc123",
"recordingStatus": "downloaded",
"url": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"durationSeconds": 184,
"scheduledAt": "2023-11-07T05:31:56Z",
"stepNumber": 1,
"transcript": "[Agent] (0:00): Hi, is this Victor?"
}Retrieve a call recording
Retrieve the recording URL for a single call, optionally with its transcript.
Because the call-results webhook payload carries callId, this is the endpoint to call when a webhook delivery was missed or you need the audio again later.
curl --request GET \
--url https://julian.11x.ai/api/v1/recordings/{callId} \
--header 'x-api-key: <api-key>'import requests
url = "https://julian.11x.ai/api/v1/recordings/{callId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://julian.11x.ai/api/v1/recordings/{callId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"callId": "call.abc123",
"recordingStatus": "downloaded",
"url": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"durationSeconds": 184,
"scheduledAt": "2023-11-07T05:31:56Z",
"stepNumber": 1,
"transcript": "[Agent] (0:00): Hi, is this Victor?"
}Authorizations
Organization API key. Get it from the 11x team or from the platform.
Path Parameters
The call's ID, e.g. call.abc123.
Query Parameters
When set to true, include the call's transcript text. Any other value is treated as false. Matching is case-insensitive.
Response
The call's recording, and its transcript when requested.
Recording — and optionally transcript — for a single call.
"call.abc123"
Whether audio was located for this call. Describes the audio only — a call can have a transcript and no recording, so do not filter on this value when you also want transcripts.
downloaded— audio was located andurlis present.no-recording— the call has no retrievable audio (never recorded, cleaned up, or hosted by a provider this API cannot sign for).call-not-found— no call exists for the id.
downloaded, no-recording, call-not-found Short-lived link to the call audio. Absent when recordingStatus is not downloaded.
Treat this as a secret: anyone holding the URL can fetch the audio until it expires, so do not forward it into tickets or third-party tools.
When url stops working — 3 hours after the response is generated. Present only for URLs this API signs; provider-hosted audio carries its own lifetime, which we do not control and therefore do not report. Re-fetch with GET /recordings/{callId} at any time.
184
Position of this call within its sequence.
1
Formatted transcript text. Present only when transcripts were requested and the call has one — independent of recordingStatus.
"[Agent] (0:00): Hi, is this Victor?"