Hot Mic core API

Hot Mic core API as documented publicly: 7 operations. Contract generated from the documentation by API Evangelist (2026-10-12); not the provider's own document.

Operations 7

GET /streams GET /streams #
PUT /streams/{id} Update a Stream #
GET /streams/{id} GET /streams/{id} #
GET /users Get All Users #
POST /users Create User #
PUT /users/{id} Update a User #
GET /users/{id} GET /users/{id} #

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/hot-mic:core-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

hot-mic-core-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Hot Mic core API
  version: '2026-10-12'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-12: 7 operation(s) read from 1 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Hot Mic has published no machine-readable contract that the pipeline
    could find. Engine: local.'
  x-evidence-tiers:
    code-example: 4
    documentation: 9
    pages-with-code: 3
    pages-read: 5
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-12'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://hotmic.io/docs/api
  x-docs-section: core
servers:
- url: https://public-api.hotmic.io
paths:
  /streams:
    get:
      operationId: get_streams
      tags:
      - Streams
      summary: GET /streams
      x-source: https://hotmic.io/docs/api
      parameters:
      - name: cursor
        in: query
        required: false
        schema:
          type: string
      - name: desc
        in: query
        required: false
        schema:
          type: string
      - name: ids
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: string
      - name: orderBy
        in: query
        required: false
        schema:
          type: string
      - name: pagination
        in: query
        required: false
        schema:
          type: string
      - name: skip
        in: query
        required: false
        schema:
          type: string
      - name: state
        in: query
        required: false
        schema:
          type: string
      - name: userId
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStreamsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl nodejs javascript python ruby curl --location --request GET 'https://public-api.hotmic.io/streams?limit=Integer&state=string&userId=String&ids=String&orderBy=string&desc=Boolean&cursor=string&skip=Integer&pagination=string'\
          \  --header 'Accept: application/json'  --header 'x-api-key: String' var request = require ( 'request' ); \n var options = { \n 'method'\
          \ : 'GET' , \n 'url' : 'https://public-ap"
  /streams/{id}:
    put:
      operationId: put_streams_id
      tags:
      - Streams
      summary: Update a Stream
      description: Update stream information, such as title or invite link.
      x-source: https://hotmic.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutStreamsIdRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutStreamsIdResponse'
      x-evidence:
        kind: documentation
    get:
      operationId: get_streams_id
      tags:
      - Streams
      summary: GET /streams/{id}
      x-source: https://hotmic.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStreamsIdResponse'
      x-evidence:
        kind: code-example
        language: ruby
        snippet: URI ( "https://public-api.hotmic.io/streams/:id"
  /users:
    get:
      operationId: get_users
      tags:
      - Users
      summary: Get All Users
      description: Get a user by its ID.
      x-source: https://hotmic.io/docs/api
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: Limits the number of results returned by the query. Defaults to 100.
      - name: ids
        in: query
        required: false
        schema:
          type: string
        description: Filter results to only include 1 or more users by id. Separate multiple ids with an underscore.
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUsersResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_users
      tags:
      - Users
      summary: Create User
      description: Creates a new user.
      x-source: https://hotmic.io/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostUsersRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostUsersResponse'
      x-evidence:
        kind: documentation
  /users/{id}:
    put:
      operationId: put_users_id
      tags:
      - Users
      summary: Update a User
      description: Update user information, such as their name or the default invite link for their profile.
      x-source: https://hotmic.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutUsersIdRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutUsersIdResponse'
      x-evidence:
        kind: documentation
    get:
      operationId: get_users_id
      tags:
      - Users
      summary: GET /users/{id}
      x-source: https://hotmic.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUsersIdResponse'
      x-evidence:
        kind: code-example
        language: ruby
        snippet: URI ( "https://public-api.hotmic.io/users/:id"
security:
- apiKey: []
components:
  schemas:
    GetStreamsResponse:
      type: object
      properties:
        links:
          type: object
          properties:
            next:
              type: string
            self:
              type: string
        limit:
          type: integer
        count:
          type: integer
        results:
          type: array
          items:
            type: object
            properties:
              _id:
                type: string
              user_id:
                type: string
              title:
                type: string
              thumbnail:
                type: string
              scheduled_date:
                type: string
                format: date-time
              state:
                type: string
              type:
                type: string
              description:
                type: string
              event_id:
                type: string
              live_date:
                type: string
                format: date-time
              duration:
                type: number
              user:
                type: object
                properties:
                  _id:
                    type: string
                  followers:
                    type: integer
                  display_name:
                    type: string
                  profile_pic:
                    type: string
              last_updated:
                type: string
                format: date-time
              video_url:
                type: string
    PutStreamsIdRequest:
      type: object
      properties:
        title:
          type: string
          description: The title of the stream
        user_id:
          type: string
          description: Update the user_id of the owner of the stream
        thumbnail:
          type: string
          description: Update the url to the stream thumbnail
        scheduled_date:
          type: string
          description: Update the scheduled_date of the stream (ISO-8601)
        description:
          type: string
          description: Update the description of the event
        invite_link:
          type: string
          description: Update the invite link for the hosts
    PutStreamsIdResponse:
      type: object
      properties:
        _id:
          type: string
          description: ID of the stream
        user_id:
          type: string
          description: User ID of the host
        title:
          type: string
          description: Title of the stream
        thumbnail:
          type: string
          description: Thumbnail URL
        scheduled_date:
          type: string
          description: Scheduled date
        state:
          type: string
          description: State of the stream
        invite_link:
          type: string
          description: Invite link
    GetStreamsIdResponse:
      type: object
      properties:
        _id:
          type: string
        user_id:
          type: string
        title:
          type: string
        thumbnail:
          type: string
        scheduled_date:
          type: string
          format: date-time
        state:
          type: string
        type:
          type: string
        description:
          type: string
        hls_url:
          type: string
        event_id:
          type: string
        live_date:
          type: string
          format: date-time
        duration:
          type: number
        vod_url:
          type: string
        last_updated:
          type: string
          format: date-time
        invite_link:
          type: string
    GetUsersResponse:
      type: object
      properties:
        name:
          type: string
          description: User name
    PostUsersRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the user
        email:
          type: string
          description: The email of the user
        default_invite_link:
          type: string
          description: The default invite link of the user
        display_name:
          type: string
          description: The display name, such as "superfan"
        profile_pic:
          type: string
          description: A URL to show for the user as a profile picture
        tags:
          type: array
          description: General tags associated with the user
        authorized_stream_tags:
          type: array
          description: Tags a user can add to a stream
      required:
      - name
    PostUsersResponse:
      type: object
      properties:
        name:
          type: string
          description: User name
    PutUsersIdRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the user to modify
        email:
          type: string
          description: The email of the user to modify
        default_invite_link:
          type: string
          description: The default_invite_link of the user to modify
        tags:
          type: array
          description: General tags associated with the user
        authorized_stream_tags:
          type: array
          description: Tags a user can add to a stream
    PutUsersIdResponse:
      type: object
      properties:
        _id:
          type: string
          description: User ID
        name:
          type: string
          description: User name
        email:
          type: string
          description: User email
        default_invite_link:
          type: string
          description: Default invite link
    GetUsersIdResponse:
      type: object
      properties:
        _id:
          type: string
        name:
          type: string
        email:
          type: string
        default_invite_link:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
tags:
- name: Streams
- name: Users