Inworld AI Router API

LLM Router configurations

OpenAPI Specification

inworld-router-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Inworld AI Models Router API
  description: 'REST API for Inworld AI''s voice and conversational AI platform, covering

    Text-to-Speech (synchronous and streaming), Speech-to-Text, voice

    management, models, and the LLM Router that fronts 220+ third-party

    models via the OpenAI-compatible chat completions endpoint.

    '
  version: '1.0'
  contact:
    name: Inworld AI
    url: https://docs.inworld.ai
servers:
- url: https://api.inworld.ai
  description: Production API
security:
- basicAuth: []
tags:
- name: Router
  description: LLM Router configurations
paths:
  /v1/routers:
    get:
      tags:
      - Router
      summary: List routers
      operationId: listRouters
      responses:
        '200':
          description: List of router configurations
          content:
            application/json:
              schema:
                type: object
                properties:
                  routers:
                    type: array
                    items:
                      $ref: '#/components/schemas/Router'
    post:
      tags:
      - Router
      summary: Create router
      operationId: createRouter
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Router'
      responses:
        '201':
          description: Router created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Router'
  /v1/routers/{id}:
    get:
      tags:
      - Router
      summary: Get router
      operationId: getRouter
      parameters:
      - $ref: '#/components/parameters/RouterId'
      responses:
        '200':
          description: Router configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Router'
    patch:
      tags:
      - Router
      summary: Update router
      operationId: updateRouter
      parameters:
      - $ref: '#/components/parameters/RouterId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Router'
      responses:
        '200':
          description: Updated router
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Router'
    delete:
      tags:
      - Router
      summary: Delete router
      operationId: deleteRouter
      parameters:
      - $ref: '#/components/parameters/RouterId'
      responses:
        '204':
          description: Router deleted
  /v1/chat/completions:
    post:
      tags:
      - Router
      summary: Create chat completion (OpenAI-compatible)
      description: Route chat completion requests via the LLM Router.
      operationId: createChatCompletion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - model
              - messages
              properties:
                model:
                  type: string
                messages:
                  type: array
                  items:
                    type: object
                    properties:
                      role:
                        type: string
                        enum:
                        - system
                        - user
                        - assistant
                      content:
                        type: string
                stream:
                  type: boolean
                temperature:
                  type: number
                max_tokens:
                  type: integer
      responses:
        '200':
          description: Chat completion response
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    Router:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        rules:
          type: array
          items:
            type: object
            properties:
              model:
                type: string
              weight:
                type: number
              conditions:
                type: object
  parameters:
    RouterId:
      name: id
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'Authentication uses HTTP Basic with the API key as the username

        (password empty), encoded as: `Authorization: Basic base64(apiKey:)`.

        Get an API key at https://platform.inworld.ai.

        '