OpenAPI Specification
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.
'