Share Recording
Share a call read-only with one person in your account, or with everyone in it. Use it to send a colleague a call they cannot see on their own, for example a conflict call from your own automation.
https://api.identitycall.ai/api/v1/public/recordings/:recording_id/sharesShares the call with one member of the account, or with every member.
- Read-only. The person can open the call page, play the audio and download the transcript. They cannot edit, delete or re-share it, and the call does not appear in their recordings list.
- Sign-in is always required. There are no public links.
urlin the response is the call’s normal page; it asks for sign-in and opens only for members of your account. - Members only.
emailmust belong to an active member of the account. Access ends as soon as you remove the share, or the person’s membership is locked or removed. - One conversation. An internal call recorded on both lines is shared as one: either recording’s id works, and both list the same shares.
The person gets an email with the link, and with your message when you send one. Send notify: false to send no email, for example when your own system already messages the person.
Path Parameters
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
recording_id | string | Yes | - | Recording public_id (UUID), or the legacy numeric id |
Request Body
Send exactly one of email and everyone.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
email | string | No | - | Email of an active member of the account |
everyone | boolean | No | - | true shares the call with every member of the account. No email is sent. |
message | string | No | - | Plain text for the email, up to 1000 characters. Sent only with a new share to a person, never stored. |
notify | boolean | No | - | Email the person the link. Default true. |
Request
cURL
curl -X POST "https://api.identitycall.ai/api/v1/public/recordings/018f3a00-0000-7000-8000-0000000000a1/shares" \
-H "Authorization: Bearer $IDENTITYCALL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "ona@example.com", "message": "Conflict call, please review the end."}'Response
201 Created for a new share. Sharing again with someone who already has access returns 200 OK with the existing share and sends no email.
{
"data": {
"id": 42,
"everyone": false,
"user": { "email": "ona@example.com", "name": "Ona Petraitienė" },
"shared_by": { "type": "api_key", "name": "Your Company" },
"created_at": "2026-10-03T09:12:44Z",
"url": "https://app.identitycall.ai/recordings/018f3a00-0000-7000-8000-0000000000a1"
}
}shared_by.name is the account name for a share made through the API, and the person’s name for one made in the app. shared_by.type becomes null once that user or API key is deleted.
List shares
https://api.identitycall.ai/api/v1/public/recordings/:recording_id/sharesEveryone the call is shared with, oldest first, in the same shape as above.
curl "https://api.identitycall.ai/api/v1/public/recordings/018f3a00-0000-7000-8000-0000000000a1/shares" \
-H "Authorization: Bearer $IDENTITYCALL_API_KEY"Remove a share
https://api.identitycall.ai/api/v1/public/recordings/:recording_id/shares/:idTakes the access away on the person's next request. Answers 204 No Content.
curl -X DELETE "https://api.identitycall.ai/api/v1/public/recordings/018f3a00-0000-7000-8000-0000000000a1/shares/42" \
-H "Authorization: Bearer $IDENTITYCALL_API_KEY"Errors
| Status | Error | Description |
|---|---|---|
| 400 | “Send either email or everyone” | The body has neither, or both |
| 400 | “message must be a string” | message is an object or a list |
| 403 | “Read permission required” | Listing with a key that has no read permission |
| 403 | “Write permission required” | Sharing or removing with a key that has no write permission |
| 404 | “Resource not found” | Recording doesn’t exist, or is outside the key’s project |
| 404 | “Share not found” | No such share on this recording |
| 422 | “Not a member of this account” | email is not an active member of the account |
| 422 | “Recording is processing-restricted” | Processing of this recording is restricted (GDPR), so it cannot be shared |
| 422 | “message is longer than 1000 characters” | Shorten the message |