Dyte Livestreams API

Manage livestreams for a meeting.

OpenAPI Specification

dyte-livestreams-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Dyte v2 REST Livestreams API
  description: Server-side v2 REST API for the Dyte live video and voice platform. Use it to create and manage meetings, add participants and issue the auth tokens that initialize the frontend SDKs, query completed sessions, and manage recordings, livestreams, and webhooks. Authentication is HTTP Basic with the base64-encoded string organizationId:apiKey. Dyte was acquired by Cloudflare in 2025 and is transitioning to Cloudflare RealtimeKit; the Dyte v2 API is in maintenance mode.
  termsOfService: https://dyte.io/terms
  contact:
    name: Dyte Support
    url: https://docs.dyte.io/
  version: '2.0'
servers:
- url: https://api.dyte.io/v2
  description: Dyte v2 production API
security:
- basicAuth: []
tags:
- name: Livestreams
  description: Manage livestreams for a meeting.
paths:
  /meetings/{meetingId}/livestreams:
    parameters:
    - $ref: '#/components/parameters/MeetingId'
    get:
      operationId: listLivestreams
      tags:
      - Livestreams
      summary: Fetch all livestreams for a meeting
      responses:
        '200':
          description: A list of livestreams.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivestreamListResponse'
    post:
      operationId: startLivestream
      tags:
      - Livestreams
      summary: Create and start a livestream
      description: Starts livestreaming the meeting and returns the livestream id, stream key, ingest server, and playback URL.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartLivestreamRequest'
      responses:
        '201':
          description: Livestream started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivestreamResponse'
  /meetings/{meetingId}/active-livestream:
    parameters:
    - $ref: '#/components/parameters/MeetingId'
    get:
      operationId: getActiveLivestream
      tags:
      - Livestreams
      summary: Fetch the active livestream for a meeting
      responses:
        '200':
          description: Active livestream status and details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivestreamResponse'
  /meetings/{meetingId}/active-livestream/stop:
    parameters:
    - $ref: '#/components/parameters/MeetingId'
    post:
      operationId: stopLivestream
      tags:
      - Livestreams
      summary: Stop the active livestream
      responses:
        '200':
          description: Livestream stopped.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
components:
  schemas:
    Livestream:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        status:
          type: string
          enum:
          - LIVE
          - OFFLINE
          - STARTING
          - STOPPING
        rtmp_url:
          type: string
        stream_key:
          type: string
        playback_url:
          type: string
          format: uri
    LivestreamResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          $ref: '#/components/schemas/Livestream'
    StartLivestreamRequest:
      type: object
      properties:
        name:
          type: string
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
    LivestreamListResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: array
          items:
            $ref: '#/components/schemas/Livestream'
  parameters:
    MeetingId:
      name: meetingId
      in: path
      required: true
      description: Unique meeting identifier.
      schema:
        type: string
        format: uuid
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic auth using the base64-encoded string organizationId:apiKey (organizationId as the username, apiKey as the password).