SignalWire Conference Recordings API

Manage recordings for conference calls.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/signalwire-conference-recordings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

signalwire-conference-recordings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Compatibility Conference Recordings API
  version: 1.0.0
  description: Manage recordings for conference calls.
servers:
- url: https://{space_name}.signalwire.com/api/laml/2010-04-01
  description: SignalWire Compatibility API
  variables:
    space_name:
      default: YOUR_SPACE
      description: Your SignalWire Space name
security:
- SignalWireBasicAuth: []
tags:
- name: Conference Recordings
  description: Manage recordings for conference calls.
  externalDocs:
    url: https://signalwire.com/docs/compatibility-api/rest
    description: Developer documentation on the Compatibility REST API
paths:
  /Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings:
    get:
      operationId: list_conference_recordings
      summary: List Conference Recordings
      description: 'List all recordings for a conference.


        #### 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](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/ConferencesAccountSidPath'
      - $ref: '#/components/parameters/ConferenceSidPathForParticipant'
      - name: DateCreated
        in: query
        required: false
        description: 'Shows recordings that were created on the date provided. Format: YYYY-MM-DD.'
        schema:
          type: string
        explode: false
      - name: DateCreated<
        in: query
        required: false
        description: 'Shows recordings that were created before the date provided. Format: YYYY-MM-DD.'
        schema:
          type: string
        explode: false
      - name: DateCreated>
        in: query
        required: false
        description: 'Shows recordings that were created after the date provided. Format: YYYY-MM-DD.'
        schema:
          type: string
        explode: false
      - name: Page
        in: query
        required: false
        description: The page number to retrieve. Page numbers are zero-indexed, so the first page is 0.
        schema:
          type: integer
          format: int32
          minimum: 0
          default: 0
        explode: false
      - name: PageSize
        in: query
        required: false
        description: The number of results to return per page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 1000
          default: 50
        explode: false
      - name: PageToken
        in: query
        required: false
        description: A token used to retrieve a specific page of results. Must start with PA or PB.
        schema:
          type: string
        explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferenceRecordingListResponse'
        '400':
          description: The request was invalid or cannot be processed. Check the error details for more information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '401':
          description: Authentication failed. Please verify your credentials and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '404':
          description: The requested resource was not found. Please verify the resource identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '422':
          description: The request could not be processed due to validation errors. Check the error details for more information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
      tags:
      - Conference Recordings
  /Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}:
    get:
      operationId: get_conference_recording
      summary: Get a Conference Recording
      description: 'Get details for a specific conference recording.


        #### 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](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/ConferencesAccountSidPath'
      - $ref: '#/components/parameters/ConferenceSidPathForParticipant'
      - $ref: '#/components/parameters/ConferenceRecordingSidPath'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferenceRecordingResponse'
        '400':
          description: The request was invalid or cannot be processed. Check the error details for more information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '401':
          description: Authentication failed. Please verify your credentials and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '404':
          description: The requested resource was not found. Please verify the resource identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
      tags:
      - Conference Recordings
    post:
      operationId: update_conference_recording
      summary: Update a Conference Recording
      description: 'Pause, resume or stop a conference recording. You can control what happens while recording is paused (replace pause with silence or skip it).


        #### 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](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/ConferencesAccountSidPath'
      - $ref: '#/components/parameters/ConferenceSidPathForParticipant'
      - $ref: '#/components/parameters/ConferenceRecordingSidPath'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferenceRecordingResponse'
        '400':
          description: The request was invalid or cannot be processed. Check the error details for more information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '401':
          description: Authentication failed. Please verify your credentials and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '404':
          description: The requested resource was not found. Please verify the resource identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '422':
          description: The request could not be processed due to validation errors. Review the errors array for specific issues.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorStringArrayResponse'
        '503':
          description: The service is temporarily unavailable. Please try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
      tags:
      - Conference Recordings
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateConferenceRecordingRequest'
    delete:
      operationId: delete_conference_recording
      summary: Delete a Conference Recording
      description: 'Delete a conference recording. If successful, a 204 response with no body will be returned.


        #### 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](/docs/platform/your-signalwire-api-space).'
      parameters:
      - $ref: '#/components/parameters/ConferencesAccountSidPath'
      - $ref: '#/components/parameters/ConferenceSidPathForParticipant'
      - $ref: '#/components/parameters/ConferenceRecordingSidPath'
      responses:
        '204':
          description: 204 No Content response.
        '400':
          description: The request was invalid or cannot be processed. Check the error details for more information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '401':
          description: Authentication failed. Please verify your credentials and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
        '404':
          description: The requested resource was not found. Please verify the resource identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompatibilityErrorResponse'
      tags:
      - Conference Recordings
components:
  schemas:
    ConferenceRecordingListResponse:
      type: object
      required:
      - uri
      - first_page_uri
      - next_page_uri
      - previous_page_uri
      - page
      - page_size
      - recordings
      properties:
        uri:
          type: string
          description: The URI of the current page.
          examples:
          - /api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Conferences/43bb71ee-553f-4074-bb20-8e2747647cce/Recordings?PageToken=PA1234
        first_page_uri:
          type: string
          description: The URI of the first page.
          examples:
          - /api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Conferences/43bb71ee-553f-4074-bb20-8e2747647cce/Recordings
        next_page_uri:
          anyOf:
          - type: string
          - type: 'null'
          description: The URI of the next page.
          examples:
          - /api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Conferences/43bb71ee-553f-4074-bb20-8e2747647cce/Recordings?Page=1&PageToken=PA5678
        previous_page_uri:
          anyOf:
          - type: string
          - type: 'null'
          description: The URI of the previous page.
          examples:
          - null
        page:
          type: integer
          format: int32
          description: The current page number.
          examples:
          - 0
        page_size:
          type: integer
          format: int32
          description: The number of items per page.
          examples:
          - 50
        recordings:
          type: array
          items:
            $ref: '#/components/schemas/ConferenceRecording'
          description: List of recordings.
      unevaluatedProperties:
        not: {}
      description: Response containing a list of conference recordings.
    uuid:
      type: string
      format: uuid
      description: Universal Unique Identifier.
    ConferenceRecording:
      type: object
      required:
      - sid
      - account_sid
      - api_version
      - call_sid
      - conference_sid
      - channel
      - channels
      - date_created
      - date_updated
      - start_time
      - end_time
      - duration
      - price
      - price_unit
      - source
      - status
      - error_code
      - uri
      - subresource_uris
      - encryption_details
      - trim
      properties:
        sid:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier for the recording.
          examples:
          - 19e436af-5688-4307-b03b-bdb2b42b8142
        account_sid:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier for the account that is associated with this recording.
          examples:
          - 720796a0-8ee9-4350-83bd-2d07a3121f1e
        api_version:
          type: string
          description: The version of the SignalWire API.
          examples:
          - '2010-04-01'
        call_sid:
          anyOf:
          - type: string
          - type: 'null'
          description: The unique identifier for the call. Always null for conference recordings.
          examples:
          - null
        conference_sid:
          anyOf:
          - $ref: '#/components/schemas/uuid'
          - type: 'null'
          description: The unique identifier for the conference that is associated with this recording.
          examples:
          - 43bb71ee-553f-4074-bb20-8e2747647cce
        channel:
          type: string
          enum:
          - '1'
          - '2'
          description: The number of channels in a recording (singular key). Returns '1' for mono or '2' for stereo.
          examples:
          - '1'
        channels:
          type: string
          enum:
          - '1'
          - '2'
          description: The number of channels in a recording. Returns '1' for mono or '2' for stereo.
          examples:
          - '1'
        date_created:
          type: string
          description: The date, in RFC 2822 format, this recording was created.
          examples:
          - Tue, 25 Sep 2018 23:00:00 +0000
        date_updated:
          type: string
          description: The date, in RFC 2822 format, this recording was updated.
          examples:
          - Wed, 26 Sep 2018 23:00:04 +0000
        start_time:
          anyOf:
          - type: string
          - type: 'null'
          description: The time, in RFC 2822 format, this recording started.
          examples:
          - Tue, 25 Sep 2018 23:00:00 +0000
        end_time:
          anyOf:
          - type: string
          - type: 'null'
          description: The time, in RFC 2822 format, this recording ended.
          examples:
          - Wed, 26 Sep 2018 23:00:04 +0000
        duration:
          type: integer
          format: int32
          description: The length, in seconds, of the recording.
          examples:
          - 4
        price:
          anyOf:
          - type: string
          - type: 'null'
          description: The cost for the recording.
          examples:
          - '-0.0025'
        price_unit:
          type: string
          description: The currency of the price of the recording.
          examples:
          - USD
        source:
          allOf:
          - $ref: '#/components/schemas/ConferenceRecordingSource'
          description: How the recording was made.
        status:
          allOf:
          - $ref: '#/components/schemas/ConferenceRecordingStatus'
          description: The status of the recording.
        error_code:
          anyOf:
          - type: string
          - type: 'null'
          description: Further details about a failed recording.
          examples:
          - null
        uri:
          type: string
          description: The URI of the recording.
          examples:
          - /api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Conferences/43bb71ee-553f-4074-bb20-8e2747647cce/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142.json
        subresource_uris:
          allOf:
          - $ref: '#/components/schemas/ConferenceRecordingSubresourceUris'
          description: Subresource URIs.
        encryption_details:
          anyOf:
          - type: string
          - type: 'null'
          description: Encryption details. Always null.
          examples:
          - null
        trim:
          type: string
          description: Whether leading and trailing silence is trimmed from a recording.
          examples:
          - do-not-trim
      unevaluatedProperties:
        not: {}
      description: Conference recording model.
    UpdateConferenceRecordingRequest:
      type: object
      required:
      - Status
      properties:
        Status:
          type: string
          enum:
          - paused
          - in-progress
          - stopped
          description: The status of the recording.
          examples:
          - paused
        PauseBehavior:
          type: string
          enum:
          - skip
          - silence
          description: What to do while recording is paused. Default is `silence`.
          examples:
          - silence
          default: silence
      unevaluatedProperties:
        not: {}
      description: Request body for updating a conference recording.
    ConferenceRecordingStatus:
      type: string
      enum:
      - queued
      - in-progress
      - paused
      - resumed
      - completed
      - absent
      - stopped
      description: Recording status.
    CompatibilityErrorStringArrayResponse:
      type: object
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            type: string
          description: List of validation error messages.
          examples:
          - - Validation error message
      unevaluatedProperties:
        not: {}
      description: Error response with errors array of strings format.
    ConferenceRecordingResponse:
      type: object
      required:
      - sid
      - account_sid
      - api_version
      - call_sid
      - conference_sid
      - channel
      - channels
      - date_created
      - date_updated
      - start_time
      - end_time
      - duration
      - price
      - price_unit
      - source
      - status
      - error_code
      - uri
      - subresource_uris
      - encryption_details
      - trim
      properties:
        sid:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier for the recording.
          examples:
          - 19e436af-5688-4307-b03b-bdb2b42b8142
        account_sid:
          allOf:
          - $ref: '#/components/schemas/uuid'
          description: The unique identifier for the account that is associated with this recording.
          examples:
          - 720796a0-8ee9-4350-83bd-2d07a3121f1e
        api_version:
          type: string
          description: The version of the SignalWire API.
          examples:
          - '2010-04-01'
        call_sid:
          anyOf:
          - type: string
          - type: 'null'
          description: The unique identifier for the call. Always null for conference recordings.
          examples:
          - null
        conference_sid:
          anyOf:
          - $ref: '#/components/schemas/uuid'
          - type: 'null'
          description: The unique identifier for the conference that is associated with this recording.
          examples:
          - 43bb71ee-553f-4074-bb20-8e2747647cce
        channel:
          type: string
          enum:
          - '1'
          - '2'
          description: The number of channels in a recording (singular key). Returns '1' for mono or '2' for stereo.
          examples:
          - '1'
        channels:
          type: string
          enum:
          - '1'
          - '2'
          description: The number of channels in a recording. Returns '1' for mono or '2' for stereo.
          examples:
          - '1'
        date_created:
          type: string
          description: The date, in RFC 2822 format, this recording was created.
          examples:
          - Tue, 25 Sep 2018 23:00:00 +0000
        date_updated:
          type: string
          description: The date, in RFC 2822 format, this recording was updated.
          examples:
          - Wed, 26 Sep 2018 23:00:04 +0000
        start_time:
          anyOf:
          - type: string
          - type: 'null'
          description: The time, in RFC 2822 format, this recording started.
          examples:
          - Tue, 25 Sep 2018 23:00:00 +0000
        end_time:
          anyOf:
          - type: string
          - type: 'null'
          description: The time, in RFC 2822 format, this recording ended.
          examples:
          - Wed, 26 Sep 2018 23:00:04 +0000
        duration:
          type: integer
          format: int32
          description: The length, in seconds, of the recording.
          examples:
          - 4
        price:
          anyOf:
          - type: string
          - type: 'null'
          description: The cost for the recording.
          examples:
          - '-0.0025'
        price_unit:
          type: string
          description: The currency of the price of the recording.
          examples:
          - USD
        source:
          allOf:
          - $ref: '#/components/schemas/ConferenceRecordingSource'
          description: How the recording was made.
        status:
          allOf:
          - $ref: '#/components/schemas/ConferenceRecordingStatus'
          description: The status of the recording.
        error_code:
          anyOf:
          - type: string
          - type: 'null'
          description: Further details about a failed recording.
          examples:
          - null
        uri:
          type: string
          description: The URI of the recording.
          examples:
          - /api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Conferences/43bb71ee-553f-4074-bb20-8e2747647cce/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142.json
        subresource_uris:
          allOf:
          - $ref: '#/components/schemas/ConferenceRecordingSubresourceUris'
          description: Subresource URIs.
        encryption_details:
          anyOf:
          - type: string
          - type: 'null'
          description: Encryption details. Always null.
          examples:
          - null
        trim:
          type: string
          description: Whether leading and trailing silence is trimmed from a recording.
          examples:
          - do-not-trim
      unevaluatedProperties:
        not: {}
      description: Response containing a single conference recording.
    ConferenceRecordingSubresourceUris:
      type: object
      required:
      - transcriptions
      properties:
        transcriptions:
          type: string
          description: The URI for transcriptions.
          examples:
          - /api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142/Transcriptions.json
      unevaluatedProperties:
        not: {}
      description: Recording subresource URIs.
    ConferenceRecordingSource:
      type: string
      enum:
      - Conference
      - StartConferenceRecording
      description: Recording source for conference recordings.
    CompatibilityErrorResponse:
      type: object
      required:
      - code
      - message
      - more_info
      - status
      properties:
        code:
          type: integer
          format: int32
          description: Error code.
          examples:
          - 20003
        message:
          type: string
          description: Error message.
          examples:
          - Authentication failed
        more_info:
          type: string
          description: URL for more information about the error.
          examples:
          - https://signalwire.com/docs/compatibility-api/reference/errors
        status:
          type: integer
          format: int32
          description: HTTP status code.
          examples:
          - 401
      unevaluatedProperties:
        not: {}
      description: Error response model.
  parameters:
    ConferenceSidPathForParticipant:
      name: ConferenceSid
      in: path
      required: true
      description: The unique identifier for the conference this participant is in.
      schema:
        $ref: '#/components/schemas/uuid'
    ConferenceRecordingSidPath:
      name: Sid
      in: path
      required: true
      description: The unique identifier for the recording.
      schema:
        $ref: '#/components/schemas/uuid'
    ConferencesAccountSidPath:
      name: AccountSid
      in: path
      required: true
      description: The unique identifier for the account that created this conference.
      schema:
        $ref: '#/components/schemas/uuid'
  securitySchemes:
    SignalWireBasicAuth:
      type: http
      scheme: Basic
      description: 'SignalWire Basic Authentication using Project ID and API Token.


        The client sends HTTP requests with the Authorization header containing

        the word Basic followed by a space and a base64-encoded string of project_id:token.

        The project ID will be used as the username and the API token as the password.


        Example:

        ```

        Authorization: Basic base64(project_id:token)

        ```'
      x-fern-basic:
        username:
          name: project_id
          env: SIGNALWIRE_PROJECT_ID
        password:
          name: api_token
          env: SIGNALWIRE_API_TOKEN