Egresses (Call Recordings)
The Egresses API allows you to access call recordings for completed calls in your organization. Egresses represent the recorded output files from video calls that have proper consent from all participants.
Egress Properties
| Property | Type | Description |
|---|---|---|
id | integer | Unique identifier for the egress |
egress_id | string | External egress identifier from the recording service |
status | string | Status of the egress (e.g., “egress_ended”, “egress_starting”) |
error | string | Error message if the egress failed (null if successful) |
is_stopped | boolean | Whether the egress has been stopped |
ended_at | string | ISO 8601 timestamp of when the egress ended |
created_at | string | ISO 8601 timestamp of when the egress was created |
updated_at | string | ISO 8601 timestamp of when the egress was last updated |
url | string | Presigned S3 URL for downloading the recording (only in show endpoint) |
Endpoints
List Call Egresses
Retrieve all egresses (recordings) for a specific call.
GET /api/external/organization_users/{organization_user_id}/calls/{call_id}/egressesParameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
organization_user_id | integer | path | Yes | ID of the organization user |
call_id | integer | path | Yes | ID of the call |
Example Request
curl -X GET "https://api.kismethealth.com/api/external/organization_users/101/calls/5/egresses" \
-H "X-Client-ID: your-client-id" \
-H "X-Client-Secret: your-client-secret" \
-H "Content-Type: application/json"Example Response
{
"egresses": [
{
"id": 1,
"egress_id": "EG_AbCdEfGhIjKlMnOpQr",
"status": "egress_ended",
"error": null,
"is_stopped": true,
"ended_at": "2025-10-08T14:30:00Z",
"created_at": "2025-10-08T14:00:00Z",
"updated_at": "2025-10-08T14:30:00Z"
},
{
"id": 2,
"egress_id": "EG_StUvWxYzAbCdEfGhIj",
"status": "egress_ended",
"error": null,
"is_stopped": true,
"ended_at": "2025-10-08T14:30:00Z",
"created_at": "2025-10-08T14:00:00Z",
"updated_at": "2025-10-08T14:30:00Z"
}
]
}Error Responses
- 404 Not Found: Returned when the organization user or call does not exist or is not accessible.
Important Notes
- Only calls where all participants have consented to recording will return egresses
- Calls without proper consent will return an empty array
- The call must be ended (
is_ended: true) to have available egresses
Get Egress Details with Download URL
Retrieve a specific egress with a presigned URL to download the recording file.
GET /api/external/organization_users/{organization_user_id}/calls/{call_id}/egresses/{id}Parameters
| Parameter | Type | Location | Required | Description |
|---|---|---|---|---|
organization_user_id | integer | path | Yes | ID of the organization user |
call_id | integer | path | Yes | ID of the call |
id | integer | path | Yes | ID of the egress |
Example Request
curl -X GET "https://api.kismethealth.com/api/external/organization_users/101/calls/5/egresses/1" \
-H "X-Client-ID: your-client-id" \
-H "X-Client-Secret: your-client-secret" \
-H "Content-Type: application/json"Example Response
{
"id": 1,
"egress_id": "EG_AbCdEfGhIjKlMnOpQr",
"status": "egress_ended",
"error": null,
"is_stopped": true,
"ended_at": "2025-10-08T14:30:00Z",
"url": "https://s3.amazonaws.com/recordings/session-5-recording-1.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=...",
"created_at": "2025-10-08T14:00:00Z",
"updated_at": "2025-10-08T14:30:00Z"
}Error Responses
- 404 Not Found: Returned when the organization user, call, or egress does not exist or is not accessible.
Important Notes
- The
urlfield contains a temporary presigned URL for downloading the recording file - Presigned URLs expire after a limited time (15 minutes)
- Each request to this endpoint is tracked in the egress’s read history for audit purposes
- Generate a new presigned URL by making another request when the URL expires
Last updated on