Red5 Admin API

Node metrics, system info, and autoscaling management

OpenAPI Specification

red5-admin-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Red5 Pro Brew Mixer Admin API
  description: The Red5 Pro Brew Mixer API is a REST interface for the Cauldron Media Engine that enables dynamic composition of multiple live video and audio streams into a single mixed output stream. It supports creating and managing mixers, controlling input sources and layout, and producing composite streams for broadcasting. The API provides both v1 and v2 endpoints for mixer lifecycle management and image overlay control, making it useful for virtual events, live production, and multi-participant streaming scenarios.
  version: '2.0'
  contact:
    name: Red5 Support
    url: https://www.red5.net/contact/
  termsOfService: https://www.red5.net/terms/
servers:
- url: http://{host}:5080
  description: Red5 Pro Server with Brew Mixer
  variables:
    host:
      default: localhost
      description: Hostname or IP address of the Red5 Pro server
security:
- accessToken: []
tags:
- name: Admin
  description: Node metrics, system info, and autoscaling management
paths:
  /admin/nodegroups:
    get:
      operationId: listNodeGroups
      summary: List Node Groups
      description: Returns all configured node groups in the Stream Manager cluster, including their scaling configuration, cloud provider settings, and current node counts.
      tags:
      - Admin
      responses:
        '200':
          description: Node groups returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/NodeGroup'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /admin/nodegroups/{nodeGroupName}/nodes:
    get:
      operationId: listNodes
      summary: List Nodes in a Node Group
      description: Returns all streaming nodes currently active in the specified node group, including their IP addresses, current load metrics, and operational status.
      tags:
      - Admin
      parameters:
      - $ref: '#/components/parameters/nodeGroupNameParam'
      responses:
        '200':
          description: Node list returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Node'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /admin/system:
    get:
      operationId: getSystemInfo
      summary: Get System Information
      description: Returns system-level information about the Stream Manager instance including version, Java runtime details, memory usage, and overall cluster health.
      tags:
      - Admin
      responses:
        '200':
          description: System information returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemInfo'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    NodeGroup:
      type: object
      description: A group of Red5 Pro streaming nodes managed by Stream Manager
      properties:
        name:
          type: string
          description: Node group identifier name
        cloudProvider:
          type: string
          description: Cloud provider (aws, gcp, azure, linode, etc.)
        region:
          type: string
          description: Cloud region where nodes are deployed
        minNodes:
          type: integer
          description: Minimum number of nodes to maintain in the group
        maxNodes:
          type: integer
          description: Maximum number of nodes allowed in the group
        currentNodes:
          type: integer
          description: Current active node count
        status:
          type: string
          description: Operational status of the node group
    Node:
      type: object
      description: A single Red5 Pro streaming node
      properties:
        id:
          type: string
          description: Node identifier
        host:
          type: string
          description: Node hostname or IP address
        status:
          type: string
          description: Operational status of the node
        activeStreams:
          type: integer
          description: Number of currently active streams on this node
        connectedClients:
          type: integer
          description: Number of currently connected clients
        cpuLoad:
          type: number
          description: Current CPU utilization percentage
        memoryUsed:
          type: integer
          description: Memory currently in use in bytes
    Error:
      type: object
      description: Error response
      properties:
        code:
          type: integer
          description: HTTP status code
        message:
          type: string
          description: Human-readable error message
    SystemInfo:
      type: object
      description: Stream Manager system information
      properties:
        version:
          type: string
          description: Stream Manager version string
        javaVersion:
          type: string
          description: Java runtime version
        uptime:
          type: integer
          description: Process uptime in milliseconds
        totalMemory:
          type: integer
          description: Total JVM memory in bytes
        freeMemory:
          type: integer
          description: Free JVM memory in bytes
  responses:
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication failed or bearer token is missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    nodeGroupNameParam:
      name: nodeGroupName
      in: path
      description: Name of the node group (cluster) to target
      required: true
      schema:
        type: string
  securitySchemes:
    accessToken:
      type: apiKey
      in: query
      name: accessToken
      description: API access token for authenticating Brew Mixer API requests
externalDocs:
  description: Red5 Pro Brew Mixer API Documentation
  url: https://www.red5.net/docs/red5-pro/development/api/mixer/brew-mixer-api/