Operations 4
Documentation
Documentation
https://docs.videosdk.live/api-reference/realtime-communication/intro
Authentication
https://docs.videosdk.live/api-reference/realtime-communication/intro
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/videosdk-rooms-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: VideoSDK Real-Time Communication HLS Streaming Rooms API
description: 'REST API for managing rooms, sessions, recordings, RTMP live streams, and HLS streaming for real-time audio and video communication applications. Requires a JWT token signed with your VideoSDK API key and secret, passed in the Authorization header (without a Bearer prefix).
'
version: '2.0'
contact:
name: VideoSDK Support
email: support@videosdk.live
url: https://www.videosdk.live/support
termsOfService: https://www.videosdk.live/terms
license:
name: Proprietary
url: https://www.videosdk.live/terms
servers:
- url: https://api.videosdk.live/v2
description: VideoSDK v2 API
security:
- JWTAuth: []
tags:
- name: Rooms
description: Manage meeting rooms.
paths:
/rooms:
post:
operationId: createRoom
summary: Create a Room
description: Creates a new meeting room. Optionally accepts a custom room ID, webhook configuration, and auto-close settings.
tags:
- Rooms
requestBody:
content:
application/json:
schema:
type: object
properties:
customRoomId:
type: string
description: Custom identifier for the room.
webhook:
$ref: '#/components/schemas/WebhookConfig'
autoCloseConfig:
$ref: '#/components/schemas/AutoCloseConfig'
example:
customRoomId: aaa-bbb-ccc
webhook:
endPoint: https://example.com/webhook
events:
- recording-started
- recording-stopped
autoCloseConfig:
type: session-end-and-deactivate
duration: 60
responses:
'200':
description: Room created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Room'
example:
roomId: abc-xyzw-lmno
customRoomId: final-testing
userId: 5f7edbb14c938bcd42944527
disabled: false
createdAt: '2022-03-25T04:49:11.024Z'
updatedAt: '2022-03-25T04:49:11.024Z'
id: 624d0e0db6a26a21b7e8ee5e
links:
get_room: https://api.videosdk.live/v2/rooms/abc-xyzw-lmno
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized – invalid or missing JWT.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
get:
operationId: fetchRooms
summary: Fetch Rooms
description: Retrieve a paginated list of all rooms.
tags:
- Rooms
parameters:
- name: page
in: query
schema:
type: integer
default: 1
- name: perPage
in: query
schema:
type: integer
default: 20
responses:
'200':
description: List of rooms.
content:
application/json:
schema:
type: object
properties:
pageInfo:
$ref: '#/components/schemas/PageInfo'
data:
type: array
items:
$ref: '#/components/schemas/Room'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/rooms/{roomId}:
get:
operationId: fetchRoom
summary: Fetch a Room
description: Retrieve details of a specific room by its ID.
tags:
- Rooms
parameters:
- name: roomId
in: path
required: true
schema:
type: string
description: The unique room identifier.
responses:
'200':
description: Room details.
content:
application/json:
schema:
$ref: '#/components/schemas/Room'
'404':
description: Room not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/rooms/validate/{roomId}:
post:
operationId: validateRoom
summary: Validate a Room
description: Validate that a room exists and is active.
tags:
- Rooms
parameters:
- name: roomId
in: path
required: true
schema:
type: string
responses:
'200':
description: Room is valid.
content:
application/json:
schema:
$ref: '#/components/schemas/Room'
'404':
description: Room not found or deactivated.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
PageInfo:
type: object
properties:
currentPage:
type: integer
perPage:
type: integer
lastPage:
type: integer
total:
type: integer
WebhookConfig:
type: object
properties:
endPoint:
type: string
format: uri
description: Webhook URL endpoint.
events:
type: array
items:
type: string
description: Array of event names or regex patterns to subscribe to.
Room:
type: object
properties:
roomId:
type: string
description: Unique meeting identifier.
example: abc-xyzw-lmno
customRoomId:
type: string
description: Custom room identifier if provided.
example: final-testing
userId:
type: string
description: Creator's user ID.
example: 5f7edbb14c938bcd42944527
disabled:
type: boolean
description: Whether the room is disabled.
example: false
createdAt:
type: string
format: date-time
description: ISO timestamp of creation.
updatedAt:
type: string
format: date-time
description: ISO timestamp of last update.
id:
type: string
description: Room document ID.
links:
type: object
properties:
get_room:
type: string
format: uri
get_session:
type: string
format: uri
AutoCloseConfig:
type: object
properties:
type:
type: string
enum:
- session-ends
- session-end-and-deactivate
description: When to auto-close the room.
duration:
type: integer
description: Duration in minutes before auto-close (default 480).
default: 480
Error:
type: object
properties:
message:
type: string
code:
type: string
securitySchemes:
JWTAuth:
type: apiKey
in: header
name: Authorization
description: 'JWT token generated using your VideoSDK API key and secret (HS256). Pass the token directly without a "Bearer" prefix.
'
externalDocs:
description: VideoSDK API Reference
url: https://docs.videosdk.live/api-reference/realtime-communication/intro