Skip to main content
The Recording API lets you retrieve and manage recordings created during voice calls or conferences. Recordings can be created using the Record a Call API or the Record XML element.

The Recording Object

recording_id
string
Unique identifier for the recording.
call_uuid
string
Identifier of the call that was recorded.
conference_name
string
Name of the conference that was recorded. null for regular calls.
recording_url
string
URL where the recording file can be accessed.
recording_format
string
File format. Values: wav, mp3.
recording_type
string
Type of recording. Values: conference, normal.
recording_duration_ms
string
Duration of the recording in milliseconds.
rounded_recording_duration
integer
Duration rounded to nearest 60-second interval. Recordings under 60s are rounded up.
recording_storage_duration
integer
Time in days the recording has been stored. Increments after 24 hours from add time.
recording_storage_rate
string
Unit cost of storing the recording per month.
monthly_recording_storage_amount
string
Monthly storage cost in the latest billing cycle.
add_time
string
Datetime when the recording was created.

Example Recording Object

{
  "add_time": "2020-08-05 16:15:15.852059+05:30",
  "api_id": "7abf0744-1ca0-11e4-a2d1-22000ac5040c",
  "call_uuid": "c2c128e2-1c8c-11e4-9bff-1db8a9db0432",
  "conference_name": "noname",
  "recording_duration_ms": "345100.00000",
  "recording_end_ms": "1407235509007.00000",
  "recording_format": "mp3",
  "recording_id": "c2186400-1c8c-11e4-a664-0026b945b52x",
  "recording_start_ms": "1407235163907.00000",
  "recording_type": "conference",
  "recording_url": "http://s3.amazonaws.com/recordings_2013/c2186400-1c8c-11e4-a664-0026b945b52x.mp3",
  "resource_uri": "/v1/Account/MA2025RK4E639VJFZAGV/Recording/c2186400-1c8c-11e4-a664-0026b945b52x/",
  "recording_storage_duration": "723",
  "rounded_recording_duration": "3456",
  "recording_storage_rate": "0.0004",
  "monthly_recording_storage_amount": "0.02304"
}

Access Original (Pre-Denoised) Recording

When noise cancellation is enabled, the default recording is the denoised version. To access the original recording before noise cancellation was applied, append the type=original query parameter to the media fetch URL. Example:
https://media.plivo.com/v1/Account/{auth_id}/Recording/{recording_id}.mp3?type=original
Pre-denoised recordings are currently available for India region accounts only.

Recording Authentication

By default, recording URLs are publicly accessible. You can enable HTTP Basic Auth to restrict access to your recording media. To enable:
  1. Go to Voice Settings in the Plivo console
  2. Enable HTTP Auth on recordings
When enabled, all GET requests for recording media require HTTP Basic Auth:
  • Username: Your Auth ID
  • Password: Your Auth Token
For recordings created via a subaccount, use the subaccount’s Auth ID and Auth Token.

Retrieve a Recording

Get details of a specific recording by its ID.
GET https://api.plivo.com/v1/Account/{auth_id}/Recording/{recording_id}/

Arguments

No arguments required.
curl -i --user AUTH_ID:AUTH_TOKEN \
    https://api.plivo.com/v1/Account/{auth_id}/Recording/{recording_id}/

Response

{
  "add_time": "2020-08-05 16:15:15.852059+05:30",
  "api_id": "7abf0744-1ca0-11e4-a2d1-22000ac5040c",
  "call_uuid": "c2c128e2-1c8c-11e4-9bff-1db8a9db0432",
  "conference_name": "noname",
  "recording_duration_ms": "345100.00000",
  "recording_end_ms": "1407235509007.00000",
  "recording_format": "mp3",
  "recording_id": "c2186400-1c8c-11e4-a664-0026b945b52x",
  "recording_start_ms": "1407235163907.00000",
  "recording_type": "conference",
  "recording_url": "http://s3.amazonaws.com/recordings_2013/c2186400-1c8c-11e4-a664-0026b945b52x.mp3",
  "resource_uri": "/v1/Account/MA2025RK4E639VJFZAGV/Recording/c2186400-1c8c-11e4-a664-0026b945b52x/"
}

List All Recordings

Retrieve all recordings in your account with optional filters.
GET https://api.plivo.com/v1/Account/{auth_id}/Recording/

Arguments

ParameterDescription
from_numberFilter by source phone number (E.164 format) or SIP endpoint.
to_numberFilter by destination phone number (E.164 format) or SIP endpoint.
subaccountFilter by subaccount auth_id.
call_uuidFilter by specific call UUID.
add_timeFilter by creation time. Format: YYYY-MM-DD HH:MM[:ss[.uuuuuu]]. Supports: add_time__gt, add_time__gte, add_time__lt, add_time__lte.
mpc_nameFilter by multiparty call name.
mpc_uuidFilter by multiparty call UUID.
conference_nameFilter by conference name.
conference_uuidFilter by conference UUID.
recording_storage_durationFilter by storage duration in days. Supports: __gt, __gte, __lt, __lte. Cannot be used with add_time.
limitNumber of results per page. Max: 20.
offsetNumber of records to skip for pagination.
  • If no time filter is used, Plivo defaults to a 7-day search window.
  • add_time allows searching within a 30-day window. Exceeding 30 days returns a 400 error.
  • All timestamps must be in UTC.
curl -i --user AUTH_ID:AUTH_TOKEN \
    https://api.plivo.com/v1/Account/{auth_id}/Recording/

Response

{
  "api_id": "ff25223a-1c9f-11e4-80aa-12313f048015",
  "meta": {
    "limit": 3,
    "next": "/v1/Account/MA2025RK4E639VJFZAGV/Recording/?limit=3&offset=3",
    "offset": 0,
    "previous": null,
    "total_count": 948
  },
  "objects": [
    {
      "add_time": "2022-08-05 16:15:15.852059+05:30",
      "call_uuid": "c2c128e2-1c8c-11e4-9bff-1db8a9db0432",
      "conference_name": "noname",
      "recording_duration_ms": "345100.00000",
      "recording_format": "mp3",
      "recording_id": "c2186400-1c8c-1124-a664-0026b945b522",
      "recording_type": "conference",
      "recording_url": "http://s3.amazonaws.com/recordings_2013/c2186400-1c8c-1124-a664-0026b945b522.mp3"
    }
  ]
}

Delete a Recording

Permanently delete a recording from your account.
DELETE https://api.plivo.com/v1/Account/{auth_id}/Recording/{recording_id}/

Arguments

No arguments required.

Returns

Returns 204 No Content on success. Returns 404 Not Found if the recording doesn’t exist.
curl -X DELETE --user AUTH_ID:AUTH_TOKEN \
    https://api.plivo.com/v1/Account/{auth_id}/Recording/{recording_id}/

Response

HTTP Status Code: 204

Get Recordings by Call UUID

To find all recordings for a specific call, use the call_uuid filter:
curl -i --user AUTH_ID:AUTH_TOKEN \
    "https://api.plivo.com/v1/Account/{auth_id}/Recording/?call_uuid=c2c128e2-1c8c-11e4-9bff-1db8a9db0432"

Recording Pricing

ComponentRate
Recording generationFree
Storage (first 90 days)Free
Storage (after 90 days)$0.0004/minute/month
The recording_storage_rate and monthly_recording_storage_amount fields in the recording object show current storage costs for recordings stored beyond 90 days. See Voice Pricing for complete pricing details.