Cloudflare Stream Live Inputs API

Live inputs receiving RTMPS or SRT broadcasts, plus simulcast outputs.

Documentation

Specifications

Other Resources

OpenAPI Specification

cloudflare-stream-live-inputs-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cloudflare Stream Analytics Live Inputs API
  description: Cloudflare Stream is the video streaming, hosting, and live-video product from Cloudflare. A single REST API uploads, stores, encodes, and delivers on-demand and live video across Cloudflare's global network, with a built-in adaptive-bitrate player, HLS/DASH manifests, live inputs over RTMPS and SRT, AI-generated and uploaded captions, signed-URL access control, per-account webhooks, and viewing analytics. All requests are scoped to an account under /accounts/{account_id}/stream and authenticate with a Bearer API token. This document grounds the core Stream endpoints; it is not exhaustive of every Cloudflare Stream operation.
  version: '1.0'
  contact:
    name: Cloudflare Stream
    url: https://developers.cloudflare.com/stream/
  license:
    name: Cloudflare Website and Online Services Terms of Use
    url: https://www.cloudflare.com/terms/
servers:
- url: https://api.cloudflare.com/client/v4
  description: Cloudflare API v4
security:
- bearerAuth: []
tags:
- name: Live Inputs
  description: Live inputs receiving RTMPS or SRT broadcasts, plus simulcast outputs.
paths:
  /accounts/{account_id}/stream/live_inputs:
    get:
      operationId: listLiveInputs
      tags:
      - Live Inputs
      summary: List live inputs
      description: Lists all live inputs on the account.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          description: A list of live inputs.
    post:
      operationId: createLiveInput
      tags:
      - Live Inputs
      summary: Create a live input
      description: Creates a live input that can receive a broadcast over RTMPS or SRT and deliver it live and as a recording.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveInputInput'
      responses:
        '200':
          description: The created live input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveInputResponse'
  /accounts/{account_id}/stream/live_inputs/{live_input_identifier}:
    get:
      operationId: getLiveInput
      tags:
      - Live Inputs
      summary: Retrieve a live input
      description: Fetches details, connection status, and RTMPS/SRT credentials for a live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      responses:
        '200':
          description: The live input details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveInputResponse'
    put:
      operationId: updateLiveInput
      tags:
      - Live Inputs
      summary: Update a live input
      description: Updates the configuration of an existing live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveInputInput'
      responses:
        '200':
          description: The updated live input.
    delete:
      operationId: deleteLiveInput
      tags:
      - Live Inputs
      summary: Delete a live input
      description: Deletes a live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      responses:
        '200':
          description: The live input was deleted.
  /accounts/{account_id}/stream/live_inputs/{live_input_identifier}/outputs:
    get:
      operationId: listOutputs
      tags:
      - Live Inputs
      summary: List simulcast outputs
      description: Lists the simulcast (restreaming) outputs configured on a live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      responses:
        '200':
          description: A list of outputs.
    post:
      operationId: createOutput
      tags:
      - Live Inputs
      summary: Create a simulcast output
      description: Creates a simulcast output that restreams the live input to another RTMP or SRT destination, such as YouTube or Twitch.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                streamKey:
                  type: string
      responses:
        '200':
          description: The created output.
  /accounts/{account_id}/stream/live_inputs/{live_input_identifier}/outputs/{output_identifier}:
    put:
      operationId: updateOutput
      tags:
      - Live Inputs
      summary: Update a simulcast output
      description: Enables or disables a simulcast output.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      - $ref: '#/components/parameters/OutputIdentifier'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
      responses:
        '200':
          description: The updated output.
    delete:
      operationId: deleteOutput
      tags:
      - Live Inputs
      summary: Delete a simulcast output
      description: Deletes a simulcast output from a live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      - $ref: '#/components/parameters/OutputIdentifier'
      responses:
        '200':
          description: The output was deleted.
components:
  parameters:
    AccountId:
      name: account_id
      in: path
      required: true
      description: The Cloudflare account identifier.
      schema:
        type: string
    OutputIdentifier:
      name: output_identifier
      in: path
      required: true
      description: The simulcast output identifier.
      schema:
        type: string
    LiveInputIdentifier:
      name: live_input_identifier
      in: path
      required: true
      description: The live input identifier.
      schema:
        type: string
  schemas:
    LiveInputResponse:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/LiveInput'
        success:
          type: boolean
    LiveInput:
      type: object
      properties:
        uid:
          type: string
        rtmps:
          type: object
          properties:
            url:
              type: string
            streamKey:
              type: string
        srt:
          type: object
          properties:
            url:
              type: string
            streamId:
              type: string
            passphrase:
              type: string
        status:
          type: string
    LiveInputInput:
      type: object
      properties:
        meta:
          type: object
        recording:
          type: object
          properties:
            mode:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Cloudflare API token passed in an Authorization Bearer header.
Where this information came from

This is an independent, third-party profile of Cloudflare Stream Live Inputs API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.