100ms website screenshot

100ms

100ms is a live video and audio infrastructure company headquartered in Bengaluru, India that provides developer SDKs and a REST control plane for embedding video conferencing, interactive live streaming (HLS), RTMP ingest/egress, recording, real-time chat/messaging, polls, whiteboard, and AI-powered transcription into applications. The company was acquired by Disney+ Hotstar (JioCinema/JioHotstar) in 2023 and continues to operate as an independent commercial SaaS — the same infrastructure powering some of the largest live cricket audiences in the world (IPL on JioCinema/Hotstar). The platform exposes a single Server-Side REST API at api.100ms.live/v2 plus client SDKs for Web (JavaScript/React), iOS (Swift), Android (Kotlin), React Native, Flutter, and a Node.js server SDK, with public OpenAPI specs generated from the docs and a Postman collection.

1 APIs 0 Features
Live VideoLive StreamingVideo ConferencingWebRTCHLSRTMPRecordingReal-time MessagingLive InfrastructureIndia

APIs

100ms Server-Side API

The 100ms Server-Side API is the unified REST control plane for the 100ms live video platform. It manages rooms (the persistent containers for a live session), templates and rol...

Collections

GraphQL

100ms Live GraphQL Schema

This document describes a conceptual GraphQL schema for the 100ms live video and audio infrastructure platform. 100ms provides a REST API at `api.100ms.live/v2` for managing roo...

GRAPHQL

Pricing Plans

100Ms Live Plans Pricing

3 plans

PLANS

Rate Limits

100Ms Live Rate Limits

5 limits

RATE LIMITS

FinOps

Semantic Vocabularies

100Ms Live Context

45 classes · 7 properties

JSON-LD

API Governance Rules

100ms API Rules

7 rules · 4 errors 3 warnings

SPECTRAL

JSON Structure

100Ms Live Room Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
📝
Signup
Signup
🔗
Dashboard
Dashboard
💰
Pricing
Pricing
👥
GitHub
GitHub
🟢
StatusPage
StatusPage
📰
Blog
Blog
🔗
Postman
Postman
🔗
Twitter
Twitter
🔗
LinkedIn
LinkedIn
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🔗
Samples
Samples
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
🔗
SpectralRules
SpectralRules

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: 100ms Server-Side API
  version: v2
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Rooms
    type: folder
  items:
  - info:
      name: List Rooms
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/rooms
      params:
      - name: limit
        value: ''
        type: query
      - name: start
        value: ''
        type: query
      - name: enabled
        value: ''
        type: query
      - name: name
        value: ''
        type: query
    docs: List Rooms
  - info:
      name: Create Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/rooms
      body:
        type: json
        data: '{}'
    docs: Create Room
  - info:
      name: Retrieve A Room
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/rooms/:room_id
      params:
      - name: room_id
        value: ''
        type: path
    docs: Retrieve A Room
  - info:
      name: Update A Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/rooms/:room_id
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update A Room
  - info:
      name: Disable Or Enable A Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/rooms/:room_id/enabled
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Disable Or Enable A Room
- info:
    name: Active Rooms
    type: folder
  items:
  - info:
      name: Retrieve Active Room
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/active-rooms/:room_id
      params:
      - name: room_id
        value: ''
        type: path
    docs: Retrieve Active Room
  - info:
      name: End Active Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/active-rooms/:room_id/end-room
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: End Active Room
  - info:
      name: List Peers
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/active-rooms/:room_id/peers
      params:
      - name: room_id
        value: ''
        type: path
    docs: List Peers
  - info:
      name: Retrieve A Peer
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/active-rooms/:room_id/peers/:peer_id
      params:
      - name: room_id
        value: ''
        type: path
      - name: peer_id
        value: ''
        type: path
    docs: Retrieve A Peer
  - info:
      name: Update A Peer
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/active-rooms/:room_id/peers/:peer_id
      params:
      - name: room_id
        value: ''
        type: path
      - name: peer_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update A Peer
  - info:
      name: Remove Peers
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/active-rooms/:room_id/remove-peers
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Remove Peers
  - info:
      name: Send Message
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/active-rooms/:room_id/send-message
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Send Message
- info:
    name: Sessions
    type: folder
  items:
  - info:
      name: List Sessions
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/sessions
      params:
      - name: limit
        value: ''
        type: query
      - name: start
        value: ''
        type: query
      - name: room_id
        value: ''
        type: query
      - name: active
        value: ''
        type: query
    docs: List Sessions
  - info:
      name: Retrieve A Session
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/sessions/:session_id
      params:
      - name: session_id
        value: ''
        type: path
    docs: Retrieve A Session
- info:
    name: Policy
    type: folder
  items:
  - info:
      name: List Templates
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/templates
    docs: List Templates
  - info:
      name: Create Template
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/templates
      body:
        type: json
        data: '{}'
    docs: Create Template
  - info:
      name: Retrieve A Template
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/templates/:template_id
      params:
      - name: template_id
        value: ''
        type: path
    docs: Retrieve A Template
  - info:
      name: Update A Template
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/templates/:template_id
      params:
      - name: template_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update A Template
  - info:
      name: Retrieve A Role
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/templates/:template_id/roles/:role_name
      params:
      - name: template_id
        value: ''
        type: path
      - name: role_name
        value: ''
        type: path
    docs: Retrieve A Role
  - info:
      name: Create Or Update A Role
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/templates/:template_id/roles/:role_name
      params:
      - name: template_id
        value: ''
        type: path
      - name: role_name
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Create Or Update A Role
  - info:
      name: Delete A Role
      type: http
    http:
      method: DELETE
      url: https://api.100ms.live/v2/templates/:template_id/roles/:role_name
      params:
      - name: template_id
        value: ''
        type: path
      - name: role_name
        value: ''
        type: path
    docs: Delete A Role
  - info:
      name: Retrieve Destinations
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/templates/:template_id/destinations
      params:
      - name: template_id
        value: ''
        type: path
    docs: Retrieve Destinations
  - info:
      name: Update Destinations
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/templates/:template_id/destinations
      params:
      - name: template_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update Destinations
  - info:
      name: Retrieve Settings
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/templates/:template_id/settings
      params:
      - name: template_id
        value: ''
        type: path
    docs: Retrieve Settings
  - info:
      name: Update Settings
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/templates/:template_id/settings
      params:
      - name: template_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update Settings
- info:
    name: Recordings
    type: folder
  items:
  - info:
      name: List All Recordings
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/recordings
      params:
      - name: limit
        value: ''
        type: query
      - name: start
        value: ''
        type: query
      - name: room_id
        value: ''
        type: query
      - name: session_id
        value: ''
        type: query
      - name: status
        value: ''
        type: query
    docs: List All Recordings
  - info:
      name: Get Recording
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/recordings/:recording_id
      params:
      - name: recording_id
        value: ''
        type: path
    docs: Get Recording
  - info:
      name: Start Recording For Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/recordings/room/:room_id/start
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Start Recording For Room
  - info:
      name: Stop Recording For Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/recordings/room/:room_id/stop
      params:
      - name: room_id
        value: ''
        type: path
    docs: Stop Recording For Room
  - info:
      name: Stop Recording By Id
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/recordings/:recording_id/stop
      params:
      - name: recording_id
        value: ''
        type: path
    docs: Stop Recording By Id
  - info:
      name: Pause Recording For Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/recordings/room/:room_id/pause
      params:
      - name: room_id
        value: ''
        type: path
    docs: Pause Recording For Room
  - info:
      name: Resume Recording For Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/recordings/room/:room_id/resume
      params:
      - name: room_id
        value: ''
        type: path
    docs: Resume Recording For Room
- info:
    name: Recording Assets
    type: folder
  items:
  - info:
      name: List All Recording Assets
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/recording-assets
      params:
      - name: limit
        value: ''
        type: query
      - name: start
        value: ''
        type: query
      - name: room_id
        value: ''
        type: query
      - name: session_id
        value: ''
        type: query
      - name: type
        value: ''
        type: query
    docs: List All Recording Assets
  - info:
      name: Get Recording Asset
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/recording-assets/:asset_id
      params:
      - name: asset_id
        value: ''
        type: path
    docs: Get Recording Asset
  - info:
      name: Get Presigned Url
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/recording-assets/:asset_id/presigned-url
      params:
      - name: asset_id
        value: ''
        type: path
    docs: Get Presigned Url
- info:
    name: Live Streams
    type: folder
  items:
  - info:
      name: List All Live Streams
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/live-streams
      params:
      - name: limit
        value: ''
        type: query
      - name: start
        value: ''
        type: query
      - name: room_id
        value: ''
        type: query
      - name: status
        value: ''
        type: query
    docs: List All Live Streams
  - info:
      name: Get Live Stream
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/live-streams/:stream_id
      params:
      - name: stream_id
        value: ''
        type: path
    docs: Get Live Stream
  - info:
      name: Start Live Stream For Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/live-streams/room/:room_id/start
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Start Live Stream For Room
  - info:
      name: Stop Live Stream For Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/live-streams/room/:room_id/stop
      params:
      - name: room_id
        value: ''
        type: path
    docs: Stop Live Stream For Room
  - info:
      name: Stop Live Stream By Id
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/live-streams/:stream_id/stop
      params:
      - name: stream_id
        value: ''
        type: path
    docs: Stop Live Stream By Id
  - info:
      name: Pause Live Stream Recording
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/live-streams/:stream_id/pause-recording
      params:
      - name: stream_id
        value: ''
        type: path
    docs: Pause Live Stream Recording
  - info:
      name: Resume Live Stream Recording
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/live-streams/:stream_id/resume-recording
      params:
      - name: stream_id
        value: ''
        type: path
    docs: Resume Live Stream Recording
  - info:
      name: Send Timed Metadata
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/live-streams/:stream_id/timed-metadata
      params:
      - name: stream_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Send Timed Metadata
- info:
    name: External Streams
    type: folder
  items:
  - info:
      name: List All External Streams
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/external-streams
      params:
      - name: limit
        value: ''
        type: query
      - name: start
        value: ''
        type: query
      - name: room_id
        value: ''
        type: query
    docs: List All External Streams
  - info:
      name: Get External Stream
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/external-streams/:stream_id
      params:
      - name: stream_id
        value: ''
        type: path
    docs: Get External Stream
  - info:
      name: Start External Stream For Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/external-streams/room/:room_id/start
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Start External Stream For Room
  - info:
      name: Stop External Stream For Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/external-streams/room/:room_id/stop
      params:
      - name: room_id
        value: ''
        type: path
    docs: Stop External Stream For Room
  - info:
      name: Stop External Stream By Id
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/external-streams/:stream_id/stop
      params:
      - name: stream_id
        value: ''
        type: path
    docs: Stop External Stream By Id
- info:
    name: Stream Keys
    type: folder
  items:
  - info:
      name: Get Rtmp Stream Key
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/stream-keys/room/:room_id
      params:
      - name: room_id
        value: ''
        type: path
    docs: Get Rtmp Stream Key
  - info:
      name: Create Rtmp Stream Key
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/stream-keys/room/:room_id
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Create Rtmp Stream Key
  - info:
      name: Disable Rtmp Stream Key
      type: http
    http:
      method: DELETE
      url: https://api.100ms.live/v2/stream-keys/room/:room_id
      params:
      - name: room_id
        value: ''
        type: path
    docs: Disable Rtmp Stream Key
- info:
    name: Room Codes
    type: folder
  items:
  - info:
      name: Get Room Codes
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/room-codes/room/:room_id
      params:
      - name: room_id
        value: ''
        type: path
    docs: Get Room Codes
  - info:
      name: Create Room Codes
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/room-codes/room/:room_id
      params:
      - name: room_id
        value: ''
        type: path
    docs: Create Room Codes
  - info:
      name: Update Room Code
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/room-codes/code/:code
      params:
      - name: code
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update Room Code
- info:
    name: Polls
    type: folder
  items:
  - info:
      name: Create Or Update Poll
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/polls
      body:
        type: json
        data: '{}'
    docs: Create Or Update Poll
  - info:
      name: Get Poll
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/polls/:poll_id
      params:
      - name: poll_id
        value: ''
        type: path
    docs: Get Poll
  - info:
      name: Link Poll With Room
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/polls/room/:room_id/link
      params:
      - name: room_id
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Link Poll With Room
- info:
    name: Analytics
    type: folder
  items:
  - info:
      name: List Webhook Events
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/analytics/events
      params:
      - name: limit
        value: ''
        type: query
      - name: start
        value: ''
        type: query
      - name: room_id
        value: ''
        type: query
      - name: session_id
        value: ''
        type: query
      - name: type
        value: ''
        type: query
    docs: List Webhook Events
  - info:
      name: Replay Webhook Events
      type: http
    http:
      method: POST
      url: https://api.100ms.live/v2/analytics/events/replay
      body:
        type: json
        data: '{}'
    docs: Replay Webhook Events
  - info:
      name: List Track Events
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/analytics/track-events
      params:
      - name: session_id
        value: ''
        type: query
      - name: peer_id
        value: ''
        type: query
    docs: List Track Events
  - info:
      name: List Recording Events
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/analytics/recording-events
      params:
      - name: session_id
        value: ''
        type: query
      - name: recording_id
        value: ''
        type: query
    docs: List Recording Events
  - info:
      name: List Error Events
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/analytics/error-events
      params:
      - name: session_id
        value: ''
        type: query
    docs: List Error Events
  - info:
      name: Get Peer Quality Stats
      type: http
    http:
      method: GET
      url: https://api.100ms.live/v2/analytics/peer-quality
      params:
      - name: session_id
        value: ''
        type: query
      - name: peer_id
        value: ''
        type: query
    docs: Get Peer Quality Stats
bundled: true