Recordings

Create a Recording

Changed on

Starts a recording resource for an active call. Use Update a Recording to pause, resume, or stop it; use the account-level Recordings collection to find saved media across calls.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Voice.

Learn more about API scopes.

post/Accounts/{AccountSid}/Calls/{CallSid}/Recordings

Request

  • Base URL
    https://YOUR_SPACE.signalwire.com/api/laml/2010-04-01
  • URL
    https://YOUR_SPACE.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings
  • Auth
    HTTP basic

Path parameters

AccountSidstring uuid required

Universal Unique Identifier.

The Project ID that uniquely identifies the Account.

CallSidstring uuid required

Universal Unique Identifier.

The unique identifier for the call.

Request body application/x-www-form-urlencoded

RecordingChannels'mono' | 'dual'

The number of channels in the recording. Can be mono (both legs of call recorded under one channel into one recording file) or dual (each leg of call recorded in separate channels into one recording file). Default is mono.

RecordingStatusCallbackstring uri

The URL to request to when recording is available. See the Recording status callback webhook for the payload your URL will receive.

RecordingStatusCallbackEventstring

The different recording statuses. To specify multiple events, separate with a space. Valid values: completed, in-progress, absent. Default is completed.

RecordingStatusCallbackMethod'GET' | 'POST'

Whether the request to RecordingStatusCallback URL is a GET or a POST. Default is POST.

RecordingTrack'inbound' | 'outbound' | 'both'

Specifies whether to record the inbound audio to SignalWire from the called party or the outbound audio from SignalWire to the called party or both the inbound and outbound audio. Default is both.

Trim'trim-silence' | 'do-not-trim'

Whether leading and trailing silence is trimmed from a recording. Default is do-not-trim.

Example request

{
  "RecordingChannels": "mono",
  "RecordingStatusCallback": "https://your-api-endpoint.com/recording-status",
  "RecordingStatusCallbackEvent": "completed",
  "RecordingStatusCallbackMethod": "POST",
  "RecordingTrack": "both",
  "Trim": "do-not-trim"
}

Response

The request has succeeded.

sidstring uuid required

Universal Unique Identifier.

account_sidstring uuid required

Universal Unique Identifier.

api_versionstring required

The version of the SignalWire API.

call_sidstring uuid required

Universal Unique Identifier.

conference_sidstring uuid required

Universal Unique Identifier.

channel'1' | '2' required

The number of channels in a recording (singular key). Returns '1' for mono or '2' for stereo.

channels'1' | '2' required

The number of channels in a recording. Returns '1' for mono or '2' for stereo.

date_createdstring required

The date, in RFC 2822 format, this recording was created.

date_updatedstring required

The date, in RFC 2822 format, this recording was updated.

start_timestring nullable required

The time, in RFC 2822 format, this recording started.

end_timestring nullable required

The time, in RFC 2822 format, this recording ended.

durationinteger required

The length, in seconds, of the recording.

pricestring nullable required

The cost for the recording.

price_unitstring required

The currency of the price of the recording.

source'DialVerb' | 'Conference' | 'OutBoundApi' | 'Trunking' | 'RecordVerb' | 'StartCallRecordingApi' | 'StartConferenceRecording' required

Recording source.

status'queued' | 'in-progress' | 'paused' | 'resumed' | 'completed' | 'absent' | 'stopped' required

Recording status.

error_codestring nullable required

Further details about a failed recording.

uristring required

The URI of the recording.

encryption_detailsstring nullable required

Encryption details. Always null.

trimstring required

Whether leading and trailing silence is trimmed from a recording.

Example response

{
  "api_version": "2010-04-01",
  "channel": "1",
  "channels": "1",
  "date_created": "Tue, 25 Sep 2018 23:00:00 +0000",
  "date_updated": "Wed, 26 Sep 2018 23:00:04 +0000",
  "start_time": "Tue, 25 Sep 2018 23:00:00 +0000",
  "end_time": "Wed, 26 Sep 2018 23:00:04 +0000",
  "duration": 4,
  "price": "-0.0025",
  "price_unit": "USD",
  "uri": "/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142.json",
  "subresource_uris": {
    "transcriptions": "/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142/Transcriptions.json"
  },
  "trim": "do-not-trim"
}

Changes

    • breaking

      the response's property type changed from string to no type, and format from uuid to no format for status

    • breaking

      the response's property format changed from uuid to no format for status

    • breaking

      the response's property format changed from uuid to no format for status

    • breaking

      the response's property type changed from string to no type, and format from uuid to no format for status

    • info

      added to the response property allOf list for the response status

    • info

      added to the response property allOf list for the response status

    • info

      added to the response property anyOf list for the response status

    • info

      added to the response property anyOf list for the response status

    • info

      removed subschema #1 from the response property anyOf list for the response status

    • info

      removed subschema #1 from the response property anyOf list for the response status

    • breaking

      added 'unevaluatedProperties' constraint to the request body

    • info

      added 'unevaluatedProperties' constraint to the response body for the status

    • info

      added 'unevaluatedProperties' constraint to the response body for the status

    • info

      added 'unevaluatedProperties' constraint to the response body for the status

    • info

      added 'unevaluatedProperties' constraint to the response body for the status

    • info

      added 'unevaluatedProperties' constraint to the response body for the status

    • info

      added 'unevaluatedProperties' constraint to the response body for the status

    • info

      added 'unevaluatedProperties' constraint to the //// response property for the status