Telnyx Call Recordings API

Call Recordings operations.

OpenAPI Specification

telnyx-call-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 Call 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: Call Recordings operations.
  name: Call Recordings
paths:
  /custom_storage_credentials/{connection_id}:
    delete:
      description: Deletes a stored custom credentials configuration.
      operationId: DeleteCustomStorageCredentials
      parameters:
      - $ref: '#/components/parameters/call-recordings_ConnectionId'
      responses:
        '204':
          description: The credentials configuration for connection_id was deleted successfully.
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Delete a stored credential
      tags:
      - Call Recordings
      x-latency-category: responsive
    get:
      description: Returns the information about custom storage credentials.
      operationId: GetCustomStorageCredentials
      parameters:
      - $ref: '#/components/parameters/call-recordings_ConnectionId'
      responses:
        '200':
          $ref: '#/components/responses/CredentialsResponseBody'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Retrieve a stored credential
      tags:
      - Call Recordings
      x-latency-category: responsive
    post:
      description: Creates a custom storage credentials configuration.
      operationId: CreateCustomStorageCredentials
      parameters:
      - $ref: '#/components/parameters/call-recordings_ConnectionId'
      requestBody:
        $ref: '#/components/requestBodies/CreateCredentialsRequest'
      responses:
        '200':
          $ref: '#/components/responses/CredentialsResponseBody'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Create a custom storage credential
      tags:
      - Call Recordings
      x-latency-category: responsive
    put:
      description: Updates a stored custom credentials configuration.
      operationId: UpdateCustomStorageCredentials
      parameters:
      - $ref: '#/components/parameters/call-recordings_ConnectionId'
      requestBody:
        $ref: '#/components/requestBodies/CreateCredentialsRequest'
      responses:
        '200':
          $ref: '#/components/responses/CredentialsResponseBody'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Update a stored credential
      tags:
      - Call Recordings
      x-latency-category: responsive
  /recording_transcriptions:
    get:
      description: Returns a list of your recording transcriptions.
      operationId: getRecordingTranscriptions
      parameters:
      - $ref: '#/components/parameters/call-recordings_PageConsolidated'
      - description: Filter recording transcriptions by various attributes.
        explode: true
        in: query
        name: filter
        schema:
          properties:
            created_at:
              additionalProperties: false
              properties:
                gte:
                  description: Returns only transcriptions created later than or at given ISO 8601 datetime.
                  example: '2019-03-29T11:10:00Z'
                  type: string
                lte:
                  description: Returns only transcriptions created earlier than or at given ISO 8601 datetime.
                  example: '2019-03-29T11:10:00Z'
                  type: string
              type: object
            recording_id:
              description: If present, transcriptions will be filtered to those associated with the given recording.
              example: 428c31b6-7af4-4bcb-b7f5-5013ef9657c1
              format: uuid
              type: string
          type: object
        style: deepObject
      responses:
        '200':
          $ref: '#/components/responses/ListRecordingTranscriptionsResponse'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: List all recording transcriptions
      tags:
      - Call Recordings
      x-latency-category: responsive
  /recording_transcriptions/{recording_transcription_id}:
    delete:
      description: Permanently deletes a recording transcription.
      operationId: deleteRecordingTranscription
      parameters:
      - $ref: '#/components/parameters/RecordingTranscriptionId'
      responses:
        '200':
          $ref: '#/components/responses/RecordingTranscriptionResponse'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Delete a recording transcription
      tags:
      - Call Recordings
      x-latency-category: responsive
    get:
      description: Retrieves the details of an existing recording transcription.
      operationId: getRecordingTranscription
      parameters:
      - $ref: '#/components/parameters/RecordingTranscriptionId'
      responses:
        '200':
          $ref: '#/components/responses/RecordingTranscriptionResponse'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Retrieve a recording transcription
      tags:
      - Call Recordings
      x-latency-category: responsive
  /recordings:
    get:
      description: Returns a list of your call recordings.
      operationId: GetRecordings
      parameters:
      - $ref: '#/components/parameters/call-recordings_PageConsolidated'
      - description: Filter recordings by various attributes.
        explode: true
        in: query
        name: filter
        schema:
          properties:
            call_control_id:
              description: If present, recordings will be filtered to those with a matching `call_control_id`.
              example: v3:e-31OnvjEM7Y4wvxr3TKNk8M3QyLcGZPiUIzCGtwQtOtEjY-B0urkw
              type: string
            call_leg_id:
              description: If present, recordings will be filtered to those with a matching call_leg_id.
              example: 428c31b6-7af4-4bcb-b7f5-5013ef9657c1
              format: uuid
              type: string
            call_session_id:
              description: If present, recordings will be filtered to those with a matching call_session_id.
              example: 428c31b6-7af4-4bcb-b7f5-5013ef9657c1
              format: uuid
              type: string
            conference_id:
              description: Returns only recordings associated with a given conference.
              example: 428c31b6-7af4-4bcb-b7f5-5013ef9657c1
              type: string
            conference_region:
              description: If present, recordings will be filtered to those with a matching `conference_region`.
              example: us
              type: string
            connection_id:
              description: If present, recordings will be filtered to those with a matching `connection_id` attribute (case-sensitive).
              example: '175237942907135762'
              type: string
            created_at:
              additionalProperties: false
              properties:
                gte:
                  description: Returns only recordings created later than or at given ISO 8601 datetime.
                  example: '2019-03-29T11:10:00Z'
                  type: string
                lte:
                  description: Returns only recordings created earlier than or at given ISO 8601 datetime.
                  example: '2019-03-29T11:10:00Z'
                  type: string
              type: object
            end_time:
              additionalProperties: false
              properties:
                gte:
                  description: Returns only recordings with an end time later than or equal to the given ISO 8601 datetime.
                  example: '2019-03-29T11:10:00Z'
                  type: string
                lte:
                  description: Returns only recordings with an end time earlier than or equal to the given ISO 8601 datetime.
                  example: '2019-03-29T11:10:00Z'
                  type: string
              type: object
            from:
              description: If present, recordings will be filtered to those with a matching `from` attribute (case-sensitive).
              example: '1234567890'
              type: string
            sip_call_id:
              description: If present, recordings will be filtered to those with a matching `sip_call_id` attribute. Matching is case-sensitive.
              example: 428c31b6-7af4-4bcb-b7f5-5013ef9657c1
              type: string
            start_time:
              additionalProperties: false
              properties:
                gte:
                  description: Returns only recordings with a start time later than or equal to the given ISO 8601 datetime.
                  example: '2019-03-29T11:10:00Z'
                  type: string
                lte:
                  description: Returns only recordings with a start time earlier than or equal to the given ISO 8601 datetime.
                  example: '2019-03-29T11:10:00Z'
                  type: string
              type: object
            to:
              description: If present, recordings will be filtered to those with a matching `to` attribute (case-sensitive).
              example: '1234567890'
              type: string
          type: object
        style: deepObject
      responses:
        '200':
          $ref: '#/components/responses/RecordingsResponseBody'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        '500':
          $ref: '#/components/responses/call-recordings_InternalServerErrorResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: List all call recordings
      tags:
      - Call Recordings
      x-latency-category: responsive
  /recordings/actions/delete:
    post:
      description: Permanently deletes a list of call recordings.
      operationId: DeleteRecordings
      requestBody:
        $ref: '#/components/requestBodies/DeleteRecordingsRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  status:
                    enum:
                    - ok
                    example: ok
                    type: string
                type: object
          description: The recordings have been successfully deleted.
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Delete a list of call recordings
      tags:
      - Call Recordings
      x-latency-category: responsive
  /recordings/{recording_id}:
    delete:
      description: Permanently deletes a call recording.
      operationId: DeleteRecording
      parameters:
      - $ref: '#/components/parameters/RecordingId'
      responses:
        '200':
          $ref: '#/components/responses/RecordingResponseBody'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Delete a call recording
      tags:
      - Call Recordings
      x-latency-category: responsive
    get:
      description: Retrieves the details of an existing call recording.
      operationId: GetRecording
      parameters:
      - $ref: '#/components/parameters/RecordingId'
      responses:
        '200':
          $ref: '#/components/responses/RecordingResponseBody'
        '401':
          $ref: '#/components/responses/call-recordings_UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/call-recordings_NotFoundResponse'
        default:
          $ref: '#/components/responses/call-recordings_GenericErrorResponse'
      summary: Retrieve a call recording
      tags:
      - Call Recordings
      x-latency-category: responsive
components:
  schemas:
    CredentialsResponse:
      properties:
        connection_id:
          $ref: '#/components/schemas/ConnectionIdCredentials'
        data:
          $ref: '#/components/schemas/CustomStorageConfiguration'
        record_type:
          $ref: '#/components/schemas/RecordType'
      required:
      - data
      - connection_id
      - record_type
      title: CredentialsResponse
      type: object
    RecordingResponseData:
      properties:
        call_control_id:
          description: Unique identifier and token for controlling the call.
          example: v3:e-31OnvjEM7Y4wvxr3TKNk8M3QyLcGZPiUIzCGtwQtOtEjY-B0urkw
          type: string
        call_leg_id:
          description: ID unique to the call leg (used to correlate webhook events).
          example: 84a97d76-e40f-11ed-9074-02420a0daa69
          type: string
        call_session_id:
          description: ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call.
          example: 84a97d76-e40f-11ed-9074-02420a0daa69
          type: string
        channels:
          description: When `dual`, the final audio file has the first leg on channel A, and the rest on channel B.
          enum:
          - single
          - dual
          example: dual
          type: string
        conference_id:
          description: Uniquely identifies the conference.
          example: 84a97d76-e40f-11ed-9074-02420a0daa69
          type: string
        connection_id:
          description: Identifies the Telnyx application (Call Control, TeXML) or SIP connection resource associated with this recording.
          example: '175237942907135762'
          type: string
        created_at:
          description: ISO 8601 formatted date indicating when the resource was created.
          example: '2018-02-02T22:25:27.521Z'
          type: string
        download_urls:
          description: Links to download the recording files.
          properties:
            mp3:
              description: Link to download the recording in mp3 format.
              type: string
            wav:
              description: Link to download the recording in wav format.
              type: string
          type: object
        duration_millis:
          description: The duration of the recording in milliseconds.
          example: 60000
          format: int32
          type: integer
        from:
          description: The `from` (caller) number for the call that generated this recording.
          example: '+15551234567'
          type: string
        id:
          description: Uniquely identifies the recording.
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          type: string
        initiated_by:
          description: Indicates what triggered the recording. Possible values include `DialVerb`, `Conference`, `OutboundAPI`, `Trunking`, `RecordVerb`, `StartCallRecordingAPI`, `StartConferenceRecordingAPI`.
          example: StartCallRecordingAPI
          type: string
        record_type:
          enum:
          - recording
          example: recording
          type: string
        recording_ended_at:
          description: ISO 8601 formatted date of when the recording ended.
          example: '2019-01-23T18:10:02.574Z'
          type: string
        recording_started_at:
          description: ISO 8601 formatted date of when the recording started.
          example: '2019-01-23T18:10:02.574Z'
          type: string
        source:
          description: The kind of event that led to this recording being created.
          enum:
          - conference
          - call
          example: conference
          type: string
        status:
          description: The status of the recording. Only `completed` recordings are currently supported.
          enum:
          - completed
          example: completed
          type: string
        to:
          description: The `to` (callee) number for the call that generated this recording.
          example: '+15557654321'
          type: string
        updated_at:
          description: ISO 8601 formatted date indicating when the resource was updated.
          example: '2018-02-02T22:25:27.521Z'
          type: string
      title: RecordingResponseData
      type: object
    Region:
      description: Region where the bucket is located.
      example: us-east-1
      type: string
    AzureConfigurationData:
      properties:
        account_key:
          $ref: '#/components/schemas/AzureAccountKey'
        account_name:
          $ref: '#/components/schemas/AzureAccountName'
        backend:
          description: Storage backend type
          enum:
          - azure
          type: string
        bucket:
          $ref: '#/components/schemas/Bucket'
      required:
      - backend
      title: Azure Blob Storage Configuration Data
      type: object
    AzureAccountKey:
      description: Azure Blob Storage account key.
      example: bPxRfiCYEXAMPLEKEY
      type: string
    CustomStorageConfiguration:
      properties:
        backend:
          enum:
          - gcs
          - s3
          - azure
          example: gcs
          type: string
        configuration:
          discriminator:
            mapping:
              azure: '#/components/schemas/AzureConfigurationData'
              gcs: '#/components/schemas/GCSConfigurationData'
              s3: '#/components/schemas/S3ConfigurationData'
            propertyName: backend
          oneOf:
          - $ref: '#/components/schemas/GCSConfigurationData'
          - $ref: '#/components/schemas/S3ConfigurationData'
          - $ref: '#/components/schemas/AzureConfigurationData'
      required:
      - backend
      - configuration
      title: Custom Storage Configuration
      type: object
    AwsSecretAccessKey:
      description: AWS secret access key.
      example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      type: string
    Credentials:
      description: Opaque credential token used to authenticate and authorize with storage provider.
      example: OPAQUE_CREDENTIALS_TOKEN
      type: string
    Bucket:
      description: Name of the bucket to be used to store recording files.
      example: example-bucket
      type: string
    RecordingResponse:
      properties:
        data:
          $ref: '#/components/schemas/RecordingResponseData'
      title: RecordingResponse
      type: object
    RecordingTranscription:
      properties:
        created_at:
          description: ISO 8601 formatted date indicating when the resource was created.
          example: '2018-02-02T22:25:27.521Z'
          type: string
        duration_millis:
          description: The duration of the recording transcription in milliseconds.
          example: 60000
          format: int32
          type: integer
        id:
          description: Uniquely identifies the recording transcription.
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          type: string
        record_type:
          enum:
          - recording_transcription
          example: recording_transcription
          type: string
        recording_id:
          description: Uniquely identifies the recording associated with this transcription.
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          type: string
        status:
          description: The status of the recording transcription. Only `completed` has transcription text available.
          enum:
          - in-progress
          - completed
          example: completed
          type: string
        transcription_text:
          description: The recording's transcribed text.
          example: Good morning, how may I help you?
          type: string
        updated_at:
          description: ISO 8601 formatted date indicating when the resource was updated.
          example: '2018-02-02T22:25:27.521Z'
          type: string
      title: RecordingTranscriptionsResponseData
      type: object
    S3ConfigurationData:
      properties:
        aws_access_key_id:
          $ref: '#/components/schemas/AwsAccessKeyId'
        aws_secret_access_key:
          $ref: '#/components/schemas/AwsSecretAccessKey'
        backend:
          description: Storage backend type
          enum:
          - s3
          type: string
        bucket:
          $ref: '#/components/schemas/Bucket'
        region:
          $ref: '#/components/schemas/Region'
      required:
      - backend
      title: AWS S3 Storage Configuration Data
      type: object
    ConnectionIdCredentials:
      description: Uniquely identifies a Telnyx application (Call Control, TeXML) or Sip connection resource.
      example: '1234567890'
      type: string
    call-recordings_Errors:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/call-recordings_Error'
          type: array
      type: object
    AwsAccessKeyId:
      description: AWS credentials access key id.
      example: AKIAIOSFODNN7EXAMPLE
      type: string
    call-recordings_Error:
      properties:
        code:
          description: Error code identifier (string or numeric string).
          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
    call-recordings_CursorPaginationMeta:
      properties:
        cursors:
          $ref: '#/components/schemas/Cursor'
        next:
          description: Path to next page.
          example: /v2/recording_transcriptions?page[after]=v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI=
          type: string
        previous:
          description: Path to previous page.
          example: /v2/recording_transcriptions?page[before]=v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI=
          type: string
      title: Cursor Pagination Meta
      type: object
    GCSConfigurationData:
      properties:
        backend:
          description: Storage backend type
          enum:
          - gcs
          type: string
        bucket:
          $ref: '#/components/schemas/Bucket'
        credentials:
          $ref: '#/components/schemas/Credentials'
      required:
      - backend
      title: Google Cloud Storage Configuration Data
      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
    RecordType:
      description: Identifies record type.
      enum:
      - custom_storage_credentials
      type: string
    Cursor:
      properties:
        after:
          description: Opaque identifier of next page.
          example: v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI=
          type: string
        before:
          description: Opaque identifier of previous page.
          example: v1:g3QAAAADZAAKdGVsbnl4X2lkc2wAAAABbQAAACRlYmRiYzdkNi1kZWRmLTExZWQtYTM3MS0wMjQyMGFlZjAwYjRqZAAJdGltZXN0YW1wbggA8Le4pGhpVxdkAAR0eXBlZAAFYWZ0ZXI=
          type: string
      type: object
    AzureAccountName:
      description: Azure Blob Storage account name.
      example: my-account
      type: string
  parameters:
    RecordingTranscriptionId:
      description: Uniquely identifies the recording transcription by id.
      in: path
      name: recording_transcription_id
      required: true
      schema:
        example: 6a09cdc3-8948-47f0-aa62-74ac943d6c58
        format: uuid
        type: string
    RecordingId:
      description: Uniquely identifies the recording by id.
      in: path
      name: recording_id
      required: true
      schema:
        type: string
    call-recordings_ConnectionId:
      description: Uniquely identifies a Telnyx application (Call Control, TeXML) or Sip connection resource.
      in: path
      name: connection_id
      required: true
      schema:
        type: string
    call-recordings_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
  responses:
    RecordingResponseBody:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RecordingResponse'
      description: A response with a single recording resource.
    RecordingTranscriptionResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/RecordingTranscription'
            type: object
      description: A response with a single recording transcription resource.
    ListRecordingTranscriptionsResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                items:
                  $ref: '#/components/schemas/RecordingTranscription'
                type: array
              meta:
                $ref: '#/components/schemas/call-recordings_CursorPaginationMeta'
            type: object
      description: A response listing multiple recording transcriptions.
    RecordingsResponseBody:
      content:
        application/json:
          schema:
            properties:
              data:
                items:
                  $ref: '#/components/schemas/RecordingResponseData'
                type: array
              meta:
                $ref: '#/components/schemas/PaginationMeta'
            type: object
      description: A response containing multiple recordings.
    call-recordings_GenericErrorResponse:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/call-recordings_Errors'
      description: Unexpected error.
    call-recordings_NotFoundResponse:
      content:
        application/json:
          examples:
            connection_not_found:
              summary: Connection not found
              value:
                errors:
                - code: '10005'
                  detail: The requested resource or URL could not be found.
                  source:
                    pointer: /connection_id
                  title: Resource not found
            not_found:
              summary: Generic not found
              value:
                errors:
                - code: '404'
                  detail: Page not found
                  title: Not Found
          schema:
            $ref: '#/components/schemas/call-recordings_Errors'
      description: Resource not found. The requested resource or URL could not be found.
    ForbiddenResponse:
      content:
        application/json:
          example:
            errors:
            - code: '403'
              detail: Forbidden
              title: Forbidden
          schema:
            $ref: '#/components/schemas/call-recordings_Errors'
      description: Forbidden. The request is understood but has been refused.
    CredentialsResponseBody:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CredentialsResponse'
      description: A response containing a credentials resource.
    call-recordings_UnauthorizedResponse:
      content:
        application/json:
          example:
            errors:
            - code: '401'
              detail: Unauthorized
              title: Unauthorized
          schema:
            $ref: '#/components/schemas/call-recordings_Errors'
      description: Unauthorized. The request lacks valid authentication credentials.
    call-recordings_InternalServerErrorResponse:
      content:
        application/json:
          example:
            errors:
            - code: '500'
              detail: Internal server error
              title: Internal Server Error
          schema:
            $ref: '#/components/schemas/call-recordings_Errors'
      description: Internal server error. An unexpected error occurred on the server.
  requestBodies:
    CreateCredentialsRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomStorageConfiguration'
      description: Creates new credentials resource for the specified connection_id.
      required: true
    DeleteRecordingsRequest:
      content:
        application/json:
          example:
            ids:
            - 428c31b6-7af4-4bcb-b7f5-5013ef9657c1
            - 428c31b6-7af4-4bcb-b7f5-5013ef9657c2
          schema:
            properties:
              ids:
                description: List of call recording IDs to delete.
                items:
                  type: string
                type: array
            required:
            - ids
            type: object
      description: Deletes recordings for the given list of IDs.
      required: true
  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:
        autho

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/telnyx/refs/heads/main/openapi/telnyx-call-recordings-api-openapi.yml