Polymath Robotics Livekit API

The Livekit API from Polymath Robotics — 4 operation(s) for livekit.

Operations 7

GET /v2/livekit/config Get LiveKit discovery configuration #
POST /v2/livekit/token Generate a Livekit access token #
GET /v2/livekit/room Get the current status of the room #
POST /v2/livekit/room Create a livekit room on this robot #
DELETE /v2/livekit/room Disconnect from the current room #
POST /v2/livekit/room/track Create a track on the current room #
DELETE /v2/livekit/room/track Delete a track from the current room #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/polymath-livekit-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

polymath-livekit-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Polymath API Service CANBus Livekit API
  description: Polymath API service to interact with a real or simulated polymath-powered robot
  termsOfService: https://www.polymathrobotics.com/legal/terms-of-service
  contact:
    name: Polymath Support
    url: https://www.polymathrobotics.com
    email: api@polymathrobotics.com
  license:
    name: All rights reserved
    url: https://www.polymathrobotics.com/legal/privacy-policy
  version: 2.0.0
servers:
- url: https://polyglot.polymathrobotics.dev/api
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Livekit
paths:
  /v2/livekit/config:
    get:
      tags:
      - Livekit
      summary: Get LiveKit discovery configuration
      description: Returns the configured discovery values and effective LiveKit URL.
      operationId: get_livekit_config
      responses:
        '200':
          description: Effective LiveKit discovery values.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivekitConfigResponse'
  /v2/livekit/token:
    post:
      tags:
      - Livekit
      summary: Generate a Livekit access token
      description: Generates a LiveKit access token for the specified identity and room.
      operationId: generate_livekit_token
      parameters:
      - required: true
        schema:
          title: Identity
          type: string
        name: identity
        in: query
      - required: true
        schema:
          title: Room Name
          type: string
        name: room_name
        in: query
      responses:
        '200':
          description: Generated LiveKit access token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivekitTokenResponse'
        '400':
          description: Failed to generate token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v2/livekit/room:
    get:
      tags:
      - Livekit
      summary: Get the current status of the room
      description: Returns the current LiveKit room status.
      operationId: get_room
      responses:
        '200':
          description: Current LiveKit room status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivekitRoomResponse'
    post:
      tags:
      - Livekit
      summary: Create a livekit room on this robot
      description: Connects this robot to the specified LiveKit room.
      operationId: create_room
      parameters:
      - required: true
        schema:
          title: Room Name
          type: string
        name: room_name
        in: query
      responses:
        '200':
          description: Room status after connecting to LiveKit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivekitRoomResponse'
        '400':
          description: Invalid room request (for example, empty or invalid room name)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
        '500':
          description: Failed to connect to the room
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Livekit
      summary: Disconnect from the current room
      description: Disconnects this robot from the current LiveKit room.
      operationId: delete_room
      responses:
        '200':
          description: Room status after disconnecting from LiveKit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivekitRoomResponse'
        '500':
          description: Failed to disconnect the room
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
  /v2/livekit/room/track:
    post:
      tags:
      - Livekit
      summary: Create a track on the current room
      description: Creates and publishes a track in the current LiveKit room.
      operationId: create_track
      parameters:
      - required: true
        schema:
          title: Name
          type: string
        name: name
        in: query
      - required: false
        schema:
          title: Fps
          type: integer
          default: 30
        name: fps
        in: query
      - required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/CodecEnum'
          default: H264
        name: codec
        in: query
      - required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/MediaTypeEnum'
          default: media_device
        name: media_type
        in: query
      - required: false
        schema:
          title: Stream Path
          type: string
        name: stream_path
        in: query
      - required: false
        schema:
          title: Use Experimental Reader
          type: boolean
          default: false
        name: use_experimental_reader
        in: query
      - required: false
        schema:
          title: Width
          type: integer
        name: width
        in: query
      - required: false
        schema:
          title: Height
          type: integer
        name: height
        in: query
      - required: false
        schema:
          title: Max Bitrate Kbps
          type: integer
        name: max_bitrate_kbps
        in: query
      responses:
        '200':
          description: Room status after track creation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivekitRoomResponse'
        '400':
          description: Invalid track request (for example, no room, invalid configuration, or duplicate track name)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
        '500':
          description: Failed to publish track
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Livekit
      summary: Delete a track from the current room
      description: Deletes a track from the current LiveKit room.
      operationId: delete_track
      parameters:
      - required: true
        schema:
          title: Name
          type: string
        name: name
        in: query
      responses:
        '200':
          description: Room status after track deletion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LivekitRoomResponse'
        '400':
          description: Invalid track delete request (for example, no room or track does not exist)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
        '500':
          description: Failed to delete track
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    CodecEnum:
      title: CodecEnum
      enum:
      - VP8
      - H264
      - AV1
      - VP9
      type: string
      description: An enumeration.
    ValidationError:
      title: ValidationError
      required:
      - loc
      - msg
      - type
      type: object
      properties:
        loc:
          title: Location
          type: array
          items:
            anyOf:
            - type: string
            - type: integer
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
    LivekitConfigResponse:
      title: LivekitConfigResponse
      type: object
      properties:
        room_name:
          title: Room Name
          type: string
        bridge_identity:
          title: Bridge Identity
          type: string
        livekit_url:
          title: Livekit Url
          type: string
      description: Response model for environment-backed LiveKit discovery configuration.
    LivekitRoomInfo:
      title: LivekitRoomInfo
      required:
      - name
      type: object
      properties:
        name:
          title: Name
          type: string
      description: Information about a connected LiveKit room.
    HTTPValidationError:
      title: HTTPValidationError
      type: object
      properties:
        detail:
          title: Detail
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    LivekitTrackStats:
      title: LivekitTrackStats
      type: object
      properties:
        timestamp:
          title: Timestamp
          type: number
          default: 0.0
        fps:
          title: Fps
          allOf:
          - $ref: '#/components/schemas/Metric'
          default:
            p50: 0.0
            p95: 0.0
            p99: 0.0
        size_bytes:
          title: Size Bytes
          type: integer
          default: 0
    Metric:
      title: Metric
      required:
      - p50
      - p95
      - p99
      type: object
      properties:
        p50:
          title: P50
          type: number
        p95:
          title: P95
          type: number
        p99:
          title: P99
          type: number
    MediaTypeEnum:
      title: MediaTypeEnum
      enum:
      - media_device
      - rtsp
      - ros
      - gstream
      type: string
      description: An enumeration.
    HTTPExceptionResponse:
      title: HTTPExceptionResponse
      required:
      - detail
      type: object
      properties:
        detail:
          title: Detail
          type: string
      description: Response model for HTTPException errors.
    LivekitTrack:
      title: LivekitTrack
      required:
      - name
      - codec
      - fps
      - media_type
      - stream_path
      - use_experimental_reader
      - stats
      type: object
      properties:
        name:
          title: Name
          type: string
        sid:
          title: Sid
          type: string
        codec:
          $ref: '#/components/schemas/CodecEnum'
        fps:
          title: Fps
          type: number
        media_type:
          $ref: '#/components/schemas/MediaTypeEnum'
        stream_path:
          title: Stream Path
          type: string
        use_experimental_reader:
          title: Use Experimental Reader
          type: boolean
        stats:
          $ref: '#/components/schemas/LivekitTrackStats'
        width:
          title: Width
          type: integer
        height:
          title: Height
          type: integer
        max_bitrate_kbps:
          title: Max Bitrate Kbps
          type: integer
      description: Track information for API responses, including configuration and runtime data.
    LivekitRoomDetails:
      title: LivekitRoomDetails
      type: object
      properties:
        room:
          $ref: '#/components/schemas/LivekitRoomInfo'
        hostname:
          title: Hostname
          type: string
        tracks:
          title: Tracks
          type: array
          items:
            $ref: '#/components/schemas/LivekitTrack'
          default: []
      description: Details about the current LiveKit room state.
    LivekitTokenResponse:
      title: LivekitTokenResponse
      required:
      - token
      type: object
      properties:
        token:
          title: Token
          type: string
      description: Response model for LiveKit token generation.
    LivekitRoomResponse:
      title: LivekitRoomResponse
      required:
      - alive
      - message
      - room
      type: object
      properties:
        alive:
          title: Alive
          type: boolean
        message:
          title: Message
          type: string
        room:
          $ref: '#/components/schemas/LivekitRoomDetails'
      description: Response model for LiveKit room operations.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer