Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now


Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?


A Recording resource represents the recording associated with a voice call, conference, or SIP Trunk. Using the Recordings REST API you can fetch, start, stop, pause, resume and delete voice recordings.

You can initiate a recording for your call, conference, or trunk via one of the following methods.

  1. TwiML中の<Record>
  2. TwiML中の<Dial record>
  3. TwiML中の<Conference record>
  4. Record=true in an outbound call via the REST API
  5. Enable recording on an elastic SIP Trunk in the Twilio Console
  6. Post to Recording resource of an in-progress Call SID

Once a recording is initiated, you can optionally pause, resume, or stop the recording

Recording properties

Names in PHP format
sid<AC> Not PII

The SID of the Account that created the Recording resource.

文字列 Not PII

The API version used during the recording.

sid<CA> Not PII

The SID of the Call the Recording resource is associated with. This will always refer to the parent leg of a two-leg call.

sid<CF> Not PII

The Conference SID that identifies the conference associated with the recording, if a conference recording.

date_time<rfc2822> Not PII

The date and time in GMT that the resource was created specified in RFC 2822 format.

date_time<rfc2822> Not PII

The date and time in GMT that the resource was last updated specified in RFC 2822 format.

date_time<rfc2822> Not PII

The start time of the recording in GMT and in RFC 2822 format.

文字列 Not PII

The length of the recording in seconds.

sid<RE> Not PII

The unique string that that we created to identify the Recording resource.

文字列 Not PII

The one-time cost of creating the recording in the price_unit currency.

文字列 Not PII

The currency used in the price property. Example: USD.

enum:status Not PII

The status of the recording. Can be: processing, completed and absent. For information about more detailed statuses on in-progress recordings, check out how to Update a Recording Resource.

integer Not PII

The number of channels in the final recording file. Can be: 1 or 2. You can split a call with two legs into two separate recording channels if you record using TwiML Dial or the Outbound Rest API.

enum:source Not PII

How the recording was created. Can be: DialVerb, Conference, OutboundAPI, Trunking, RecordVerb, StartCallRecordingAPI, and StartConferenceRecordingAPI.

integer? Not PII

The error code that describes why the recording is absent. The error code is described in our Error Dictionary. This value is null if the recording status is not absent.

uri Not PII

The URI of the resource, relative to https://api.twilio.com.

オブジェクト Not PII

How to decrypt the recording if it was encrypted using Call Recording Encryption feature.

uri_map Not PII

A list of related resources identified by their relative URIs.

Create a Recording resource

POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallsSid}/Recordings.json

To start a recording on a live call, make an HTTP Post request to the Recordings list resource of an in-progress Call.

Legal implications of call recording

If you choose to record voice or video calls, you need to comply with certain laws and regulations, including those regarding obtaining consent to record (such as California’s Invasion of Privacy Act and similar laws in other jurisdictions). Additional information on the legal implications of call recording can be found here.

Notice: Twilio recommends that you consult with your legal counsel to make sure that you are complying with all applicable laws in connection with communications you record or store using Twilio.



Names in PHP format
post string[] Not PII

The recording status events on which we should call the recording_status_callback URL. Can be: in-progress, completed and absent and the default is completed. Separate multiple event values with a space.

post url Not PII

The URL we should call using the recording_status_callback_method on each recording event specified in recording_status_callback_event. For more information, see RecordingStatusCallback parameters.

post http_method Not PII

The HTTP method we should use to call recording_status_callback. Can be: GET or POST and the default is POST.

post 文字列 Not PII

Whether to trim any leading and trailing silence in the recording. Can be: trim-silence or do-not-trim and the default is do-not-trim. trim-silence trims the silence from the beginning and end of the recording and do-not-trim does not.

post 文字列 Not PII

The number of channels used in the recording. Can be: mono or dual and the default is mono. mono records all parties of the call into one channel. dual records each party of a 2-party call into separate channels.

post sid<AC> Not PII

The SID of the Account that will create the resource.

post sid<CA> Not PII

The SID of the Call to associate the resource with.


Twilio will pass the following parameters with its request to your RecordingStatusCallback URL:

パラメーター 概要
AccountSid この録音の属するアカウントの一意な識別子です。
CallSid 録音に関連づけられた通話の一意な識別子です。 
RecordingSid この録音のユニークな識別子です。
RecordingUrl 録音された音声の URL。
RecordingStatus 録音ステータスです。 取りうる値はin-progresscompleted、およびabsentです。
RecordingDuration The length of the recording, in seconds. (only provided when RecordingStatus is completed)
RecordingChannels 最終的な録音ファイルのチャンネル数を示す整数です。 取りうる値は 1 および 2 です。
RecordingStartTime The timestamp of when the recording started.
RecordingSource The initiation method used to create this recording. For recordings initiated with this API, the value will be StartCallRecordingAPI.

              Fetch a Recording resource

              GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.json

              Because the URLs that host individual recordings are useful for many external applications, they are public and do not require HTTP Basic Auth to access. This allows you to embed the recording URL in a web application without revealing your Twilio API credentials.

              Twilio's recording URLs are quite long and difficult to guess, so the contents of the recordings should be reasonably private unless you distribute the URL. For added security, you can enforce HTTP basic auth to access media using your AccountSid and Authentication token via the voice settings page in the console.

              Names in PHP format
              GET sid<AC> Not PII

              The SID of the Account that created the Recording resource to fetch.

              GET sid<RE> Not PII

              The Twilio-provided string that uniquely identifies the Recording resource to fetch.

              Fetch recording metadata

              Recordings Resource Metadata can be returned in either json or xml by appending the either the '.json' or 'xml' suffix to the URI.


                    Fetch a recording media file


                    拡張子なし、または「.wav」の場合は、MIME-Type が「audio/x-wav」のバイナリ WAV 音声ファイルを返します。 たとえば、次のようになります。

                    GET https://api.twilio.com/2010-04-01/Accounts/ACXXXXX.../Recordings/RE557ce644e5ab84fa21cc21112e22c485

                    WAV files have a bitrate of 128kbps


                    URI に「.mp3」をつけると、MIME-Type が「audio/mpeg」 のバイナリ MP3 音声ファイルを返します。 たとえば、次のようになります。

                    GET https://api.twilio.com/2010-04-01/Accounts/ACXXXXX.../Recordings/RE557ce644e5ab84fa21cc21112e22c485.mp3

                    MP3 files have a bitrate of 32kbps

                    Fetch a Recording's Transcriptions

                    Each Recording instance resource has a Transcriptions subresource which represents the set of transcriptions generated from the recording (if any):

                    GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Recordings/{RecordingSid}/Transcriptions

                    This will return the set of transcriptions available for the recording identified by {RecordingSid}. See the Transcriptions resource documentation for properties and response formats.

                    Read multiple Recording Resources

                    GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Recordings.json

                    This API call returns a list of Recordings, each representing a recording generated during a call or conference for the given account. The list returned includes paging information.

                    The list of Recordings is protected by your account credentials like most parts of this API. You must use HTTP basic auth to access the Recordings list resource.

                    You can also get a list of Recordings from a specific call or conference by including the call or conference SID in your request like so:

                    GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json
                    GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings.json


                    Names in PHP format
                    GET date_time_inequality<iso8601> Not PII

                    The date_created value, specified as YYYY-MM-DD, of the resources to read. You can also specify inequality: DateCreated<=YYYY-MM-DD will return recordings generated at or before midnight on a given date, and DateCreated>=YYYY-MM-DD returns recordings generated at or after midnight on a date.

                    GET sid<CA> Not PII

                    The Call SID of the resources to read.

                    GET sid<CF> Not PII

                    The Conference SID that identifies the conference associated with the recording to read.

                    GET sid<AC> Not PII

                    The SID of the Account that created the Recording resources to read.



                                            Update a Recording resource

                                            POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}.json
                                            POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}.json

                                            An active call or conference recording can be paused and resumed. Additionally, an active call recording can be stopped which will end the recording immediately. (stopped not supported for conference recordings)


                                            Names in PHP format
                                            post sid<AC> Not PII

                                            The SID of the Account that created the Recording resource to update.

                                            post sid<CA> Not PII

                                            The Call SID of the resource to update.

                                            post sid_like<RE> Not PII

                                            The Twilio-provided string that uniquely identifies the Recording resource to update.

                                            post enum:status Not PII

                                            The new status of the recording. Can be: stopped, paused, in-progress.

                                            post 文字列 Not PII

                                            Whether to record during a pause. Can be: skip or silence and the default is silence. skip does not record during the pause period, while silence will replace the actual audio of the call with silence during the pause period. This parameter only applies when setting status is set to paused.


                                            Note in examples below that the API responses for updates to the recording resource will provide a more detailed inflight 'status' including paused, in-progress, or stopped but a fetch on the recording resource will only show processing or completed.


                                                        In the following two examples, note the use of Twilio.CURRENT to reference the currently active recording without requiring an explicit Recording SID.

                                                        Twilio.CURRENT can be used for pause, resume, or stop actions. Note that if your use case has multiple or concurrent recordings for a call or conference, use the Recording SID to reference the correct one.


                                                                                Delete a Recording resource

                                                                                DELETE https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.json

                                                                                Deletes a recording from your account. Once the recording is deleted:

                                                                                • You will no longer be billed for storage of those minutes
                                                                                • The recording is set to a status of deleted
                                                                                • The metadata is preserved for a period of 40 days, during which time the metadata is still visible in the Console.

                                                                                If successful, DELETE returns HTTP 204 (No Content) with no body.

                                                                                Names in PHP format
                                                                                削除する sid<AC> Not PII

                                                                                The SID of the Account that created the Recording resources to delete.

                                                                                削除する sid<RE> Not PII

                                                                                The Twilio-provided string that uniquely identifies the Recording resource to delete.

                                                                                      Rate this page:


                                                                                      誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。