Telnyx Room Recordings API

Rooms Recordings operations.

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/telnyx-room-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

telnyx-room-recordings-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: support@telnyx.com
  description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform.
  title: Telnyx Access Tokens Room Recordings API
  version: 2.0.0
  x-endpoint-cost: light
servers:
- description: Version 2.0.0 of the Telnyx API
  url: https://api.telnyx.com/v2
security:
- bearerAuth: []
tags:
- description: Rooms Recordings operations.
  name: Room Recordings
paths:
  /room_recordings:
    delete:
      description: ''
      operationId: DeleteRoomRecordings
      parameters:
      - description: 'Consolidated filter parameter (deepObject style). Originally: filter[date_ended_at][eq], filter[date_ended_at][gte], filter[date_ended_at][lte], filter[date_started_at][eq], filter[date_started_at][gte], filter[date_started_at][lte], filter[room_id], filter[participant_id], filter[session_id], filter[status], filter[type], filter[duration_secs]'
        explode: true
        in: query
        name: filter
        required: false
        schema:
          properties:
            date_ended_at:
              properties:
                eq:
                  description: ISO 8601 date for filtering room recordings ended on that date.
                  example: '2021-04-25'
                  format: date
                  type: string
                gte:
                  description: ISO 8601 date for filtering room recordings ended on or after that date.
                  example: '2021-04-25'
                  format: date
                  type: string
                lte:
                  description: ISO 8601 date for filtering room recordings ended on or before that date.
                  example: '2021-04-25'
                  format: date
                  type: string
              type: object
            date_started_at:
              properties:
                eq:
                  description: ISO 8601 date for filtering room recordings started on that date.
                  example: '2021-04-25'
                  format: date
                  type: string
                gte:
                  description: ISO 8601 date for filtering room recordings started on or after that date.
                  example: '2021-04-25'
                  format: date
                  type: string
                lte:
                  description: ISO 8601 date for filtering room recordings started on or before that date.
                  example: '2021-04-25'
                  format: date
                  type: string
              type: object
            duration_secs:
              description: duration_secs greater or equal for filtering room recordings.
              example: 20
              type: integer
            participant_id:
              description: participant_id for filtering room recordings.
              example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
              format: uuid
              type: string
            room_id:
              description: room_id for filtering room recordings.
              example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
              format: uuid
              type: string
            session_id:
              description: session_id for filtering room recordings.
              example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
              format: uuid
              type: string
            status:
              description: status for filtering room recordings.
              example: completed
              type: string
            type:
              description: type for filtering room recordings.
              example: audio
              type: string
          type: object
        style: deepObject
      - $ref: '#/components/parameters/video_PageConsolidated'
      responses:
        '201':
          $ref: '#/components/responses/BulkDeleteRoomRecordingsResponse'
        '422':
          $ref: '#/components/responses/video_UnprocessableEntity'
      summary: Delete several room recordings in a bulk.
      tags:
      - Room Recordings
      x-endpoint-cost: heavy
      x-latency-category: responsive
    get:
      description: ''
      operationId: ListRoomRecordings
      parameters:
      - description: 'Consolidated filter parameter (deepObject style). Originally: filter[date_ended_at][eq], filter[date_ended_at][gte], filter[date_ended_at][lte], filter[date_started_at][eq], filter[date_started_at][gte], filter[date_started_at][lte], filter[room_id], filter[participant_id], filter[session_id], filter[status], filter[type], filter[duration_secs]'
        explode: true
        in: query
        name: filter
        required: false
        schema:
          properties:
            date_ended_at:
              properties:
                eq:
                  description: ISO 8601 date for filtering room recordings ended on that date.
                  example: '2021-04-25'
                  format: date
                  type: string
                gte:
                  description: ISO 8601 date for filtering room recordings ended on or after that date.
                  example: '2021-04-25'
                  format: date
                  type: string
                lte:
                  description: ISO 8601 date for filtering room recordings ended on or before that date.
                  example: '2021-04-25'
                  format: date
                  type: string
              type: object
            date_started_at:
              properties:
                eq:
                  description: ISO 8601 date for filtering room recordings started on that date.
                  example: '2021-04-25'
                  format: date
                  type: string
                gte:
                  description: ISO 8601 date for filtering room recordings started on or after that date.
                  example: '2021-04-25'
                  format: date
                  type: string
                lte:
                  description: ISO 8601 date for filtering room recordings started on or before that date.
                  example: '2021-04-25'
                  format: date
                  type: string
              type: object
            duration_secs:
              description: duration_secs greater or equal for filtering room recordings.
              example: 20
              type: integer
            participant_id:
              description: participant_id for filtering room recordings.
              example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
              format: uuid
              type: string
            room_id:
              description: room_id for filtering room recordings.
              example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
              format: uuid
              type: string
            session_id:
              description: session_id for filtering room recordings.
              example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
              format: uuid
              type: string
            status:
              description: status for filtering room recordings.
              example: completed
              type: string
            type:
              description: type for filtering room recordings.
              example: audio
              type: string
          type: object
        style: deepObject
      - $ref: '#/components/parameters/video_PageConsolidated'
      responses:
        '200':
          $ref: '#/components/responses/ListRoomRecordingsResponse'
        4XX:
          $ref: '#/components/responses/video_GenericErrorResponse'
      summary: View a list of room recordings.
      tags:
      - Room Recordings
      x-endpoint-cost: medium
      x-latency-category: responsive
  /room_recordings/{room_recording_id}:
    delete:
      description: Synchronously delete a Room Recording.
      operationId: DeleteRoomRecording
      parameters:
      - description: The unique identifier of a room recording.
        in: path
        name: room_recording_id
        required: true
        schema:
          example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
          format: uuid
          type: string
      responses:
        '204':
          description: The resource was deleted successfully.
        '404':
          $ref: '#/components/responses/video_ResourceNotFound'
      summary: Delete a room recording.
      tags:
      - Room Recordings
      x-endpoint-cost: medium
      x-latency-category: responsive
    get:
      operationId: ViewRoomRecording
      parameters:
      - description: The unique identifier of a room recording.
        in: path
        name: room_recording_id
        required: true
        schema:
          example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
          format: uuid
          type: string
      responses:
        '200':
          $ref: '#/components/responses/GetRoomRecordingResponse'
        '404':
          $ref: '#/components/responses/video_ResourceNotFound'
      summary: View a room recording.
      tags:
      - Room Recordings
      x-endpoint-cost: light
      x-latency-category: responsive
components:
  schemas:
    video_Errors:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/video_Error'
          type: array
      type: object
    RoomRecording:
      example:
        codec: opus
        completed_at: '2021-04-16T10:25:55.962200Z'
        created_at: '2021-04-16T09:46:20.954863Z'
        download_url: https://www.example.com
        duration_secs: 3660
        ended_at: '2021-04-16T10:24:55.962200Z'
        id: 6b61621f-62e0-4aad-ab11-9fd19e272e73
        participant_id: 9b61621f-5fe4-4aad-ab11-9fd19e272e73
        record_type: room_session
        room_id: 7b61621f-5fe4-4aad-ab11-9fd19e272e73
        session_id: 8b61621f-5fe4-4aad-ab11-9fd19e272e73
        size_mb: 5.6
        started_at: '2021-04-16T09:24:55.962200Z'
        status: completed
        type: audio
        updated_at: '2021-04-16T10:24:55.962200Z'
      properties:
        codec:
          description: Shows the codec used for the room recording.
          example: opus
          type: string
        completed_at:
          description: ISO 8601 timestamp when the room recording has completed.
          example: '2021-03-26T17:51:59.588408Z'
          format: date-time
          type: string
        created_at:
          description: ISO 8601 timestamp when the room recording was created.
          example: '2021-03-26T17:51:59.588408Z'
          format: date-time
          type: string
        download_url:
          description: Url to download the recording.
          example: https://www.example.com
          type: string
        duration_secs:
          description: Shows the room recording duration in seconds.
          example: 67
          type: integer
        ended_at:
          description: ISO 8601 timestamp when the room recording has ended.
          example: '2021-03-26T17:51:59.588408Z'
          format: date-time
          type: string
        id:
          description: A unique identifier for the room recording.
          example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0
          format: uuid
          type: string
        participant_id:
          description: Identify the room participant associated with the room recording.
          example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777b0
          format: uuid
          type: string
        record_type:
          example: room_recording
          readOnly: true
          type: string
        room_id:
          description: Identify the room associated with the room recording.
          example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777b0
          format: uuid
          type: string
        session_id:
          description: Identify the room session associated with the room recording.
          example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777b0
          format: uuid
          type: string
        size_mb:
          description: Shows the room recording size in MB.
          example: 10.5
          format: float
          type: number
        started_at:
          description: ISO 8601 timestamp when the room recording has stated.
          example: '2021-03-26T17:51:59.588408Z'
          format: date-time
          type: string
        status:
          description: Shows the room recording status.
          enum:
          - completed
          - processing
          example: completed
          type: string
        type:
          description: Shows the room recording type.
          enum:
          - audio
          - video
          example: audio
          type: string
        updated_at:
          description: ISO 8601 timestamp when the room recording was updated.
          example: '2021-03-26T17:51:59.588408Z'
          format: date-time
          type: string
      type: object
    PaginationMeta:
      properties:
        page_number:
          example: 2
          type: integer
        page_size:
          example: 25
          type: integer
        total_pages:
          example: 3
          type: integer
        total_results:
          example: 55
          type: integer
      type: object
    video_Error:
      properties:
        code:
          type: string
        detail:
          type: string
        meta:
          additionalProperties: true
          type: object
        source:
          properties:
            parameter:
              description: Indicates which query parameter caused the error.
              type: string
            pointer:
              description: JSON pointer (RFC6901) to the offending entity.
              type: string
          type: object
        title:
          type: string
      required:
      - code
      - title
      type: object
  responses:
    video_ResourceNotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/video_Error'
      description: Resource not found
    video_GenericErrorResponse:
      content:
        application/json:
          schema:
            properties:
              message:
                example: Error
                type: string
              success:
                example: false
                type: boolean
            type: object
      description: Unexpected error
    video_UnprocessableEntity:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/video_Errors'
      description: Unprocessable entity. Check the 'detail' field in response for details.
    BulkDeleteRoomRecordingsResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                properties:
                  room_recordings:
                    description: Amount of room recordings affected
                    example: 5
                    type: integer
                type: object
            title: Bulk Room Recordings Delete Response
            type: object
      description: Successful response for Bulk Delete Room recordings requests
    ListRoomRecordingsResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                items:
                  $ref: '#/components/schemas/RoomRecording'
                type: array
              meta:
                $ref: '#/components/schemas/PaginationMeta'
            type: object
      description: List room recordings response.
    GetRoomRecordingResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/RoomRecording'
            type: object
      description: Get room recording response.
  parameters:
    video_PageConsolidated:
      description: 'Consolidated page parameter (deepObject style). Originally: page[size], page[number]'
      explode: true
      in: query
      name: page
      schema:
        properties:
          number:
            default: 1
            description: The page number to load.
            minimum: 1
            type: integer
          size:
            default: 20
            description: The size of the page.
            maximum: 250
            minimum: 1
            type: integer
        type: object
      style: deepObject
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    branded-calling_bearerAuth:
      description: API key passed as a Bearer token in the Authorization header
      scheme: bearer
      type: http
    oauthClientAuth:
      description: OAuth 2.0 authentication for Telnyx API and MCP integrations
      flows:
        authorizationCode:
          authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
          refreshUrl: https://api.telnyx.com/v2/oauth/token
          scopes:
            admin: Administrative access to Telnyx resources
          tokenUrl: https://api.telnyx.com/v2/oauth/token
        clientCredentials:
          scopes:
            admin: Administrative access to Telnyx resources
          tokenUrl: https://api.telnyx.com/v2/oauth/token
      type: oauth2
    outbound-voice-profiles_bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http
    pronunciation-dicts_bearerAuth:
      description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
      scheme: bearer
      type: http
    stored-payment-transactions_bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http