Create a recording for the call

POST /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json

A Recording resource represents the recording associated with a voice call, conference, or SIP Trunk.

Create a recording for the call

Path parameters

  • AccountSid string Required

    The SID of the Account that will create the resource.

    Minimum length is 34, maximum length is 34. Format should match the following pattern: ^AC[0-9a-fA-F]{32}$.

  • CallSid string Required

    The SID of the Call to associate the resource with.

    Minimum length is 34, maximum length is 34. Format should match the following pattern: ^CA[0-9a-fA-F]{32}$.

application/x-www-form-urlencoded

Body

  • RecordingStatusCallbackEvent array[string]

    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.

  • RecordingStatusCallback string(uri)

    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.

  • RecordingStatusCallbackMethod string(http-method)

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

    Values are GET or POST.

  • Trim string

    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.

  • RecordingChannels string

    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.

  • RecordingTrack string

    The audio track to record for the call. Can be: inbound, outbound or both. The default is both. inbound records the audio that is received by Twilio. outbound records the audio that is generated from Twilio. both records the audio that is received and generated by Twilio.

Responses

  • 200 application/json

    OK

    Hide headers attributes Show headers attributes
    • Access-Control-Allow-Origin string

      Specify the origin(s) allowed to access the resource

    • Access-Control-Allow-Methods string

      Specify the HTTP methods allowed when accessing the resource

    • Access-Control-Allow-Headers string

      Specify the headers allowed when accessing the resource

    • Access-Control-Allow-Credentials boolean

      Indicates whether the browser should include credentials

    • Access-Control-Expose-Headers string

      Headers exposed to the client

    Hide response attributes Show response attributes object
    • account_sid string | null

      The SID of the Account that created the Recording resource.

      Minimum length is 34, maximum length is 34. Format should match the following pattern: ^AC[0-9a-fA-F]{32}$.

    • api_version string | null

      The API version used to make the recording.

    • call_sid string | null

      The SID of the Call the Recording resource is associated with.

      Minimum length is 34, maximum length is 34. Format should match the following pattern: ^CA[0-9a-fA-F]{32}$.

    • conference_sid string | null

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

      Minimum length is 34, maximum length is 34. Format should match the following pattern: ^CF[0-9a-fA-F]{32}$.

    • date_created string(date-time-rfc-2822) | null

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

    • date_updated string(date-time-rfc-2822) | null

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

    • start_time string(date-time-rfc-2822) | null

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

    • duration string | null

      The length of the recording in seconds.

    • sid string | null

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

      Minimum length is 34, maximum length is 34. Format should match the following pattern: ^RE[0-9a-fA-F]{32}$.

    • price number | null

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

    • uri string | null

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

    • encryption_details

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

    • price_unit string(currency) | null

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

    • status string

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

      Values are in-progress, paused, stopped, processing, completed, or absent.

    • channels integer

      The number of channels in the final recording file. Can be: 1, or 2. Separating a two leg call into two separate channels of the recording file is supported in Dial and Outbound Rest API record options.

      Default value is 0.

    • source string

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

      Values are DialVerb, Conference, OutboundAPI, Trunking, RecordVerb, StartCallRecordingAPI, or StartConferenceRecordingAPI.

    • error_code integer | null

      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.

    • track string | null

      The recorded track. Can be: inbound, outbound, or both.

  • 201 application/json

    Created

    Hide headers attributes Show headers attributes
    • Access-Control-Allow-Origin string

      Specify the origin(s) allowed to access the resource

    • Access-Control-Allow-Methods string

      Specify the HTTP methods allowed when accessing the resource

    • Access-Control-Allow-Headers string

      Specify the headers allowed when accessing the resource

    • Access-Control-Allow-Credentials boolean

      Indicates whether the browser should include credentials

    • Access-Control-Expose-Headers string

      Headers exposed to the client

    Hide response attributes Show response attributes object
    • account_sid string | null

      The SID of the Account that created the Recording resource.

      Minimum length is 34, maximum length is 34. Format should match the following pattern: ^AC[0-9a-fA-F]{32}$.

    • api_version string | null

      The API version used to make the recording.

    • call_sid string | null

      The SID of the Call the Recording resource is associated with.

      Minimum length is 34, maximum length is 34. Format should match the following pattern: ^CA[0-9a-fA-F]{32}$.

    • conference_sid string | null

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

      Minimum length is 34, maximum length is 34. Format should match the following pattern: ^CF[0-9a-fA-F]{32}$.

    • date_created string(date-time-rfc-2822) | null

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

    • date_updated string(date-time-rfc-2822) | null

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

    • start_time string(date-time-rfc-2822) | null

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

    • duration string | null

      The length of the recording in seconds.

    • sid string | null

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

      Minimum length is 34, maximum length is 34. Format should match the following pattern: ^RE[0-9a-fA-F]{32}$.

    • price number | null

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

    • uri string | null

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

    • encryption_details

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

    • price_unit string(currency) | null

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

    • status string

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

      Values are in-progress, paused, stopped, processing, completed, or absent.

    • channels integer

      The number of channels in the final recording file. Can be: 1, or 2. Separating a two leg call into two separate channels of the recording file is supported in Dial and Outbound Rest API record options.

      Default value is 0.

    • source string

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

      Values are DialVerb, Conference, OutboundAPI, Trunking, RecordVerb, StartCallRecordingAPI, or StartConferenceRecordingAPI.

    • error_code integer | null

      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.

    • track string | null

      The recorded track. Can be: inbound, outbound, or both.

POST /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json
curl \
 --request POST 'https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json' \
 --user "username:password" \
 --header "Content-Type: application/x-www-form-urlencoded" \
 --data 'Trim=do-not-trim&PlayBeep=true&Transcribe=true&RecordingTrack=both&RecordingChannels=dual&RecordingStatusCallback=https%3A%2F%2Fexample.com&TranscriptionConfiguration=JVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&RecordingStatusCallbackEvent=in-progress+completed+failed&RecordingStatusCallbackMethod=GET'
Request examples
{"Trim"=>"do-not-trim", "PlayBeep"=>true, "Transcribe"=>true, "RecordingTrack"=>"both", "RecordingChannels"=>"dual", "RecordingStatusCallback"=>"https://example.com", "TranscriptionConfiguration"=>"JVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "RecordingStatusCallbackEvent"=>["in-progress completed failed"], "RecordingStatusCallbackMethod"=>"GET"}
{"Trim"=>"do-not-trim", "PlayBeep"=>true, "Transcribe"=>true, "RecordingTrack"=>"both", "RecordingChannels"=>"dual", "RecordingStatusCallback"=>"https://example.com", "TranscriptionConfiguration"=>"JVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "RecordingStatusCallbackEvent"=>["in-progress completed failed"], "RecordingStatusCallbackMethod"=>"GET"}
Response examples (200)
{
  "sid": "REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
  "price": null,
  "track": "both",
  "source": "StartCallRecordingAPI",
  "status": "in-progress",
  "call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "channels": 2,
  "duration": null,
  "error_code": null,
  "price_unit": null,
  "start_time": "Fri, 14 Oct 2016 21:56:34 +0000",
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "api_version": "2010-04-01",
  "date_created": "Fri, 14 Oct 2016 21:56:34 +0000",
  "date_updated": "Fri, 14 Oct 2016 21:56:34 +0000",
  "conference_sid": null,
  "encryption_details": null
}
Response examples (201)
{
  "sid": "REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
  "price": null,
  "track": "both",
  "source": "StartCallRecordingAPI",
  "status": "in-progress",
  "call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "channels": 2,
  "duration": null,
  "error_code": null,
  "price_unit": null,
  "start_time": "Fri, 14 Oct 2016 21:56:34 +0000",
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "api_version": "2010-04-01",
  "date_created": "Fri, 14 Oct 2016 21:56:34 +0000",
  "date_updated": "Fri, 14 Oct 2016 21:56:34 +0000",
  "conference_sid": null,
  "encryption_details": null
}