Skip to Content
Kismet's Organization API is officially released 🎉
APIEgresses (Call Recordings)

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

PropertyTypeDescription
idintegerUnique identifier for the egress
egress_idstringExternal egress identifier from the recording service
statusstringStatus of the egress (e.g., “egress_ended”, “egress_starting”)
errorstringError message if the egress failed (null if successful)
is_stoppedbooleanWhether the egress has been stopped
ended_atstringISO 8601 timestamp of when the egress ended
created_atstringISO 8601 timestamp of when the egress was created
updated_atstringISO 8601 timestamp of when the egress was last updated
urlstringPresigned 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}/egresses

Parameters

ParameterTypeLocationRequiredDescription
organization_user_idintegerpathYesID of the organization user
call_idintegerpathYesID 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

ParameterTypeLocationRequiredDescription
organization_user_idintegerpathYesID of the organization user
call_idintegerpathYesID of the call
idintegerpathYesID 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 url field 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