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.
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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Telnyx Room Recordings API
version: 2.0.0
contact:
email: support@telnyx.com
x-endpoint-cost: light
x-refined-note:
- x-latency-category differs across the merged source definitions and was not carried
description: 'Operations tagged Room Recordings across 2 of this provider''s published API definitions: telnyx-openapi.yml, telnyx-openapi.json. Each path carries the servers of the definition it was published in.'
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
servers:
- description: Version 2.0.0 of the Telnyx API
url: https://api.telnyx.com/v2
/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
servers:
- description: Version 2.0.0 of the Telnyx API
url: https://api.telnyx.com/v2
components:
responses:
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
GetRoomRecordingResponse:
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/RoomRecording'
type: object
description: Get room recording response.
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.
video_ResourceNotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/video_Error'
description: Resource not found
video_UnprocessableEntity:
content:
application/json:
schema:
$ref: '#/components/schemas/video_Errors'
description: Unprocessable entity. Check the 'detail' field in response for details.
video_GenericErrorResponse:
content:
application/json:
schema:
properties:
message:
example: Error
type: string
success:
example: false
type: boolean
type: object
description: Unexpected error
UnprocessableEntity:
description: Unprocessable entity. Check the 'detail' field in response for details.
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
example:
errors:
- code: '10027'
title: Unprocessable Entity
detail: The server understood the syntax of the request but was unable to process the instructions.
video_ResourceNotFound_2:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/video_Error'
example:
code: string
title: string
detail: string
source:
pointer: string
parameter: string
schemas:
video_Errors:
properties:
errors:
items:
$ref: '#/components/schemas/video_Error'
type: array
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
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
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
Errors:
properties:
errors:
type: array
items:
$ref: '#/components/schemas/billing-group_Error'
type: object
billing-group_Error:
type: object
required:
- code
- title
properties:
code:
type: integer
format: int32
title:
type: string
detail:
type: string
source:
type: object
properties:
pointer:
description: JSON pointer (RFC6901) to the offending entity.
type: string
parameter:
description: Indicates which query parameter caused the error.
type: string
meta:
type: object
properties: {}
additionalProperties: true
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
BearerAuth:
type: http
scheme: bearer
bearerFormat: API key
description: 'Telnyx API key supplied as `Authorization: Bearer <token>`. In production, auth may be validated by the API gateway and forwarded via Telnyx auth headers.'
Payment:
type: apiKey
in: header
name: Authorization
description: 'Machine Payment Protocol credential used on paid retries, sent as `Authorization: Payment ...`. Obtained by paying a challenge returned in the `WWW-Authenticate` header of a 402 response. This is not a Telnyx API key; initial challenge requests use standard bearer authentication instead.'
agent-memory_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key
collections_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Collections and results are automatically scoped to the authenticated user's organization.
number-reputation_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
rcs-registration_bearerAuth:
type: http
scheme: bearer
bearerFormat: API key
transcriptions-search_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Results are automatically scoped to the authenticated user's organization.
web-search_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key
x-refined-from:
- telnyx-openapi.yml
- telnyx-openapi.json