Archestra AI · Schema
OpenrouterChatCompletionRequest
AI InfrastructureMCP GatewayLLM ProxyObservabilityOpen Source
Properties
| Name | Type | Description |
|---|---|---|
| model | string | |
| messages | array | |
| tools | array | |
| tool_choice | object | https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405 |
| temperature | numbernull | |
| max_tokens | numbernull | |
| max_completion_tokens | integernull | |
| reasoning_effort | stringnull | |
| stream | booleannull | |
| stream_options | objectnull | |
| user | string | |
| response_format | object | |
| reasoning | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/archestra/main/json-schema/archestra-openrouter-chat-completion-request-schema.json",
"title": "OpenrouterChatCompletionRequest",
"x-generated": "2026-10-16",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/archestra-openapi.json#/components/schemas/OpenrouterChatCompletionRequest",
"type": "object",
"properties": {
"model": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"type",
"text"
],
"additionalProperties": false
}
}
]
},
"role": {
"type": "string",
"enum": [
"developer"
]
},
"name": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"content",
"role"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"type",
"text"
],
"additionalProperties": false
}
}
]
},
"role": {
"type": "string",
"enum": [
"system"
]
},
"name": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"content",
"role"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"type",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"image_url"
]
},
"image_url": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"detail": {
"type": "string",
"enum": [
"auto",
"low",
"high"
]
}
},
"required": [
"url"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"
}
},
"required": [
"type",
"image_url"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"input_audio"
]
},
"input_audio": {
"type": "object",
"properties": {
"data": {
"type": "string"
},
"format": {
"type": "string",
"enum": [
"wav",
"mp3"
]
}
},
"required": [
"data",
"format"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"
}
},
"required": [
"type",
"input_audio"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"file"
]
},
"file": {
"type": "object",
"properties": {
"file_data": {
"type": "string"
},
"file_id": {
"type": "string"
},
"filename": {
"type": "string"
}
},
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"
}
},
"required": [
"type",
"file"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"
}
]
}
}
]
},
"role": {
"type": "string",
"enum": [
"user"
]
},
"name": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"content",
"role"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"assistant"
]
},
"audio": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"content": {
"nullable": true,
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"type",
"text"
],
"additionalProperties": false
}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"refusal"
]
},
"refusal": {
"type": "string"
}
},
"required": [
"type",
"refusal"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"
}
}
]
},
"function_call": {
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431",
"type": [
"object",
"null"
],
"properties": {
"arguments": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"arguments",
"name"
],
"additionalProperties": false
},
"name": {
"type": "string"
},
"reasoning_content": {
"type": [
"string",
"null"
]
},
"refusal": {
"type": [
"string",
"null"
]
},
"tool_calls": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"arguments": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"arguments",
"name"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"
}
},
"required": [
"id",
"type",
"function"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"input": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"input",
"name"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"
}
},
"required": [
"id",
"type",
"custom"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"
}
],
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"
}
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"role"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"tool"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"text": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"type",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"image_url"
]
},
"image_url": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"detail": {
"type": "string",
"enum": [
"auto",
"low",
"high"
]
}
},
"required": [
"url"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"
}
},
"required": [
"type",
"image_url"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"
}
]
}
}
]
},
"tool_call_id": {
"type": "string"
},
"cache_control": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ephemeral"
]
},
"ttl": {
"type": "string",
"enum": [
"5m",
"1h"
]
}
},
"required": [
"type"
],
"additionalProperties": false
}
},
"required": [
"role",
"content",
"tool_call_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"function"
]
},
"content": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
},
"required": [
"role",
"content",
"name"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"
}
]
}
},
"tools": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"parameters": {
"description": "\n https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n The parameters the functions accepts, described as a JSON Schema object. See the\n [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n documentation about the format.\n\n Omitting parameters defines a function with an empty parameter list.\n ",
"type": "object",
"additionalProperties": {}
},
"strict": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"name"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"
}
},
"required": [
"type",
"function"
],
"additionalProperties": false,
"description": "https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"custom"
]
},
"custom": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the custom tool, used to identify it in tool calls"
},
"description": {
"description": "Optional description of the custom tool, used to provide more context",
"type": "string"
},
"format": {
"description": "The input format for the custom tool. Default is unconstrained text.",
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
],
"description": "Unconstrained text format. Always `text`"
}
},
"required": [
"type"
],
"additionalProperties": false,
"description": "Unconstrained free-form text"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"grammar"
]
},
"grammar": {
"type": "object",
"properties": {
"definition": {
"type": "string",
"description": "The grammar definition"
},
"syntax": {
"type": "string",
"enum": [
"lark",
"regex"
],
"description": "The syntax of the gramm
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://artifacts.apis.io/archestra/json-schema/archestra-openrouter-chat-completion-request-schema.json
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/archestra-openrouter-chat-completion-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.