{"openapi":"3.0.0","info":{"title":"Archestra — LLM Proxy","version":"v1.5.0-rc.22"},"components":{"schemas":{"LogContentNotStoredInput":{"type":"object","properties":{"__redacted":{"type":"string","enum":["log_content_policy"]},"isError":{"type":"boolean"},"errorType":{"type":"string","enum":["auth_required","auth_expired","assigned_credential_unavailable","tool_state","cancelled","generic"]},"archestraExecutedAs":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["personal"]},"ownerUserId":{"nullable":true,"type":"string"},"ownerName":{"nullable":true,"type":"string"}},"required":["kind","ownerUserId","ownerName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["team"]},"teamId":{"type":"string"},"teamName":{"nullable":true,"type":"string"}},"required":["kind","teamId","teamName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["org"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["idp_exchange"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["idp_passthrough"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["caller_headers"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["platform"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false}]}},"required":["__redacted"]},"TextSearchLanguageInput":{"type":"string","enum":["simple","arabic","armenian","basque","catalan","danish","dutch","english","finnish","french","german","greek","hindi","hungarian","indonesian","irish","italian","lithuanian","nepali","norwegian","portuguese","romanian","russian","serbian","spanish","swedish","tamil","turkish","yiddish"]},"ContextualRetrievalModeInput":{"type":"string","enum":["disabled","document","chunk"]},"EmbeddingDimensionsInput":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"enum":[3072,1536,1408,1024,768,384]},"LocalConfigEnvironmentDefaultInput":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"OpenAiChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"OpenAiChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"]},"GeminiGenerateContentRequestInput":{"type":"object","properties":{"contents":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","description":"The role of the author of this content."},"parts":{"type":"array","items":{"anyOf":[{"anyOf":[{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"text":{"type":"string"},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["text"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"inlineData":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string"}},"required":["data"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["inlineData"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionCall":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"args":{"type":"object","additionalProperties":{}}},"required":["name"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionCall"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"response":{"type":"object","additionalProperties":{}},"willContinue":{"type":"boolean"},"scheduling":{"type":"string","enum":["SCHEDULING_UNSPECIFIED","SILENT","WHEN_IDLE","INTERRUPT"]}},"required":["name","response"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionResponse"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"fileData":{"type":"object","properties":{"mimeType":{"type":"string"},"fileUri":{"type":"string"}},"required":["fileUri"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["fileData"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"language":{"type":"string","enum":["LANGUAGE_UNSPECIFIED","PYTHON"]},"executableCode":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["language","executableCode"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"codeExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["OUTCOME_UNSPECIFIED","OUTCOME_OK","OUTCOME_FAILED","OUTCOME_DEADLINE_EXCEEDED"],"description":"Outcome of the code execution."},"output":{"type":"string"}},"required":["outcome"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["codeExecutionResult"]}]}],"description":"https://ai.google.dev/api/caching#Part"}}},"required":["role","parts"],"description":"\nThe base structured datatype containing multi-part content of a message.\n\nA Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.\n\nhttps://ai.google.dev/api/caching#Content\n"},"description":"The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries like chat, this is a repeated field that contains the conversation history and the latest request"},"tools":{"description":"A list of Tools the Model may use to generate the next response. A Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the Model. Supported Tools are Function and codeExecution. Refer to the Function calling and the Code execution guides to learn more.","anyOf":[{"type":"array","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}},{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}]},"toolConfig":{"description":"Tool configuration for any Tool specified in the request.","type":"object","properties":{"functionCallingConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["AUTO","ANY","NONE"]},"allowedFunctionNames":{"type":"array","items":{"type":"string"}}},"required":["mode"]}},"required":["functionCallingConfig"]},"safetySettings":{"description":"A list of unique SafetySetting instances for blocking unsafe content.","type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"threshold":{"type":"string","enum":["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"],"description":"\n      Controls the probability threshold at which harm is blocked.\n\n      https://ai.google.dev/api/generate-content#HarmBlockThreshold\n      "}},"required":["category","threshold"],"description":"https://ai.google.dev/api/generate-content#v1beta.SafetySetting"}},"systemInstruction":{"type":"object","properties":{"parts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}}},"required":["parts"],"description":"Developer set system instruction(s). Currently, text only."},"generationConfig":{"type":"object","properties":{"stopSequences":{"type":"array","items":{"type":"string"}},"responseMimeType":{"type":"string"},"responseSchema":{},"_responseJsonSchema":{},"responseJsonSchema":{},"responseModalities":{"type":"array","items":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"}},"candidateCount":{"type":"number"},"maxOutputTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"topK":{"type":"number"},"seed":{"type":"number"},"presencePenalty":{"type":"number"},"frequencyPenalty":{"type":"number"},"responseLogprobs":{"type":"boolean"},"logProbs":{"type":"number"},"enableEnhancedCivicAnswers":{"type":"boolean"},"speechConfig":{},"thinkingConfig":{},"imageConfig":{},"mediaResolution":{"description":"https://ai.google.dev/api/generate-content#MediaResolution","type":"string","enum":["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]}},"description":"https://ai.google.dev/api/generate-content#v1beta.GenerationConfig"},"cachedContent":{"description":"The name of the content cached to use as context to serve the prediction. Format: cachedContents/{cachedContent}","type":"string"},"config":{"type":"object","properties":{"tools":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}},{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}]},"toolConfig":{"description":"Tool configuration for any Tool specified in the request.","type":"object","properties":{"functionCallingConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["AUTO","ANY","NONE"]},"allowedFunctionNames":{"type":"array","items":{"type":"string"}}},"required":["mode"]}},"required":["functionCallingConfig"]}}}},"required":["contents"]},"GeminiGenerateContentResponseInput":{"type":"object","properties":{"candidates":{"description":"Candidate responses from the model","type":"array","items":{"type":"object","properties":{"content":{"type":"object","properties":{"role":{"type":"string","description":"The role of the author of this content."},"parts":{"type":"array","items":{"anyOf":[{"anyOf":[{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"text":{"type":"string"},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["text"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"inlineData":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string"}},"required":["data"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["inlineData"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionCall":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"args":{"type":"object","additionalProperties":{}}},"required":["name"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionCall"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"response":{"type":"object","additionalProperties":{}},"willContinue":{"type":"boolean"},"scheduling":{"type":"string","enum":["SCHEDULING_UNSPECIFIED","SILENT","WHEN_IDLE","INTERRUPT"]}},"required":["name","response"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionResponse"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"fileData":{"type":"object","properties":{"mimeType":{"type":"string"},"fileUri":{"type":"string"}},"required":["fileUri"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["fileData"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"language":{"type":"string","enum":["LANGUAGE_UNSPECIFIED","PYTHON"]},"executableCode":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["language","executableCode"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"codeExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["OUTCOME_UNSPECIFIED","OUTCOME_OK","OUTCOME_FAILED","OUTCOME_DEADLINE_EXCEEDED"],"description":"Outcome of the code execution."},"output":{"type":"string"}},"required":["outcome"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["codeExecutionResult"]}]}],"description":"https://ai.google.dev/api/caching#Part"}}},"required":["role","parts"],"description":"\nThe base structured datatype containing multi-part content of a message.\n\nA Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.\n\nhttps://ai.google.dev/api/caching#Content\n"},"finishReason":{"description":"\n  The reason why the model stopped generating tokens.\n\n  If empty, the model has not stopped generating tokens.\n\n  https://ai.google.dev/api/generate-content#FinishReason\n","anyOf":[{"type":"string","enum":["FINISH_REASON_UNSPECIFIED","STOP","MAX_TOKENS","SAFETY","RECITATION","LANGUAGE","OTHER","BLOCKLIST","PROHIBITED_CONTENT","SPII","MALFORMED_FUNCTION_CALL","IMAGE_SAFETY","IMAGE_PROHIBITED_CONTENT","IMAGE_OTHER","NO_IMAGE","IMAGE_RECITATION","UNEXPECTED_TOOL_CALL","TOO_MANY_TOOL_CALLS"]},{"type":"string"}]},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"probability":{"type":"string","enum":["HARM_PROBABILITY_UNSPECIFIED","NEGLIGIBLE","LOW","MEDIUM","HIGH"],"description":"https://ai.google.dev/api/generate-content#HarmProbability"},"blocked":{"description":"Was this content blocked because of this rating?","type":"boolean"}},"required":["category","probability"],"description":"https://ai.google.dev/api/generate-content#v1beta.SafetyRating"}},"citationMetadata":{"description":"https://ai.google.dev/api/generate-content#citationmetadata","type":"object","properties":{"citationSources":{"type":"array","items":{"description":"https://ai.google.dev/api/generate-content#CitationSource","type":"object","properties":{"startIndex":{"type":"number"},"endIndex":{"type":"number"},"uri":{"type":"string"},"license":{"type":"string"}}}}},"required":["citationSources"]},"tokenCount":{"type":"number"},"groundingAttributions":{"type":"array","items":{}},"groundingMetadata":{},"avgLogprobs":{"type":"number"},"logprobsResult":{},"urlContextMetadata":{},"index":{"description":"Index of the candidate in the list of response candidates.","type":"number"},"finishMessage":{"description":"Details the reason why the model stopped generating tokens. This is populated only when finishReason is set.","type":"string"}},"description":"https://ai.google.dev/api/generate-content#candidate"}},"promptFeedback":{"description":"Returns the prompt's feedback related to the content filters","type":"object","properties":{"blockReason":{"description":"Specifies the reason why the prompt was blocked. https://ai.google.dev/api/generate-content#BlockReason","anyOf":[{"type":"string","enum":["BLOCK_REASON_UNSPECIFIED","SAFETY","OTHER","BLOCKLIST","PROHIBITED_CONTENT","IMAGE_SAFETY"]},{"type":"string"}]},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"probability":{"type":"string","enum":["HARM_PROBABILITY_UNSPECIFIED","NEGLIGIBLE","LOW","MEDIUM","HIGH"],"description":"https://ai.google.dev/api/generate-content#HarmProbability"},"blocked":{"description":"Was this content blocked because of this rating?","type":"boolean"}},"required":["category","probability"],"description":"https://ai.google.dev/api/generate-content#v1beta.SafetyRating"}}}},"usageMetadata":{"description":"Metadata on the generation requests' token usage","type":"object","properties":{"trafficType":{"description":"Traffic tier that served the request.","type":"string"},"promptTokenCount":{"type":"number"},"cachedContentTokenCount":{"type":"number"},"candidatesTokenCount":{"type":"number"},"toolUsePromptTokenCount":{"type":"number"},"thoughtsTokenCount":{"type":"number"},"totalTokenCount":{"type":"number"},"promptTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"cacheTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"candidatesTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"toolUsePromptTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}}}},"modelVersion":{"description":"The model version used to generate the response.","type":"string"},"responseId":{"description":"The unique response ID.","type":"string"}}},"AnthropicMessagesRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"},"signature":{"type":"string"}},"required":["type","thinking","signature"]},{"type":"object","properties":{"type":{"type":"string","enum":["redacted_thinking"]},"data":{"type":"string"}},"required":["type","data"]},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]},"cache_control":{"nullable":true}},"required":["id","input","name","type"]},{"type":"object","properties":{"tool_use_id":{"type":"string"},"type":{"type":"string","enum":["tool_result"]},"cache_control":{"nullable":true},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"}]}}]},"is_error":{"type":"boolean"}},"required":["tool_use_id","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["search_result","server_tool_use","web_search_tool_result","web_fetch_tool_result","code_execution_tool_result","bash_code_execution_tool_result","text_editor_code_execution_tool_result","tool_search_tool_result","container_upload"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"role":{"type":"string","enum":["user","assistant","system"]}},"required":["content","role"]}},"max_tokens":{"type":"number"},"container":{"nullable":true,"type":"string"},"context_management":{"nullable":true,"type":"object","properties":{},"additionalProperties":{}},"mcp_servers":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"user_id":{"nullable":true,"type":"string"}},"additionalProperties":{}},"output_config":{"type":"object","properties":{"effort":{"nullable":true,"type":"string"},"format":{"nullable":true,"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"schema":{"type":"object","additionalProperties":{}}},"required":["type","schema"]}},"additionalProperties":{}},"service_tier":{},"speed":{"type":"string","enum":["fast","standard"]},"stop_sequences":{"type":"array","items":{"type":"string"}},"stream":{"type":"boolean"},"system":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}}}]},"temperature":{"type":"number"},"thinking":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["enabled"]},"budget_tokens":{"type":"number"},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type","budget_tokens"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["disabled"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["between_tools"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["adaptive"]},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]},"tool_choice":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["auto"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["any"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"name":{"type":"string"},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["none"]}},"required":["type"]}]},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["custom"]},"cache_control":{"nullable":true},"input_schema":{"type":"object","additionalProperties":{}},"description":{"type":"string"}},"required":["name","input_schema"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["bash"]},"type":{"type":"string","enum":["bash_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_editor"]},"type":{"type":"string","enum":["text_editor_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250429"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250728"]},"cache_control":{"nullable":true},"max_characters":{"nullable":true,"type":"number"}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["web_search"]},"type":{"type":"string","enum":["web_search_20250305"]},"allowed_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"blocked_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"cache_control":{"nullable":true},"max_uses":{"nullable":true,"type":"number"},"user_location":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"top_k":{"type":"number"},"top_p":{"type":"number"}},"required":["model","messages","max_tokens"],"additionalProperties":{}},"AnthropicMessagesResponseInput":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"citations":{"nullable":true,"type":"array","items":{}},"text":{"type":"string"},"type":{"type":"string","enum":["text"]}},"required":["citations","text","type"],"additionalProperties":{}},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]}},"required":["id","input","name","type"],"additionalProperties":{}}]}},"model":{"type":"string"},"role":{"type":"string","enum":["assistant"]},"stop_reason":{"nullable":true},"stop_sequence":{"nullable":true,"type":"string"},"type":{"type":"string","enum":["message"]},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"cache_read_input_tokens":{"nullable":true,"type":"number"},"cache_creation_input_tokens":{"nullable":true,"type":"number"},"cache_creation":{"nullable":true,"type":"object","properties":{"ephemeral_1h_input_tokens":{"nullable":true,"type":"number"},"ephemeral_5m_input_tokens":{"nullable":true,"type":"number"}}}},"required":["input_tokens","output_tokens"],"additionalProperties":{}}},"required":["id","content","model","role","type","usage"],"additionalProperties":{}},"CerebrasChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"CerebrasChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/Cerebras/cerebras-cloud-sdk-node/blob/main/src/resources/chat/completions.ts"}},"required":["finish_reason","message"],"description":"https://github.com/Cerebras/cerebras-cloud-sdk-node/blob/main/src/resources/chat/completions.ts"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"]},"CohereChatRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"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"]}},"required":["type","image_url"]}]}}]}},"required":["role","content"]},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["type","tool_call_id","content"]},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"}},"required":["type","thinking"]},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"]}},"required":["id","type","function"]}}},"required":["role"]},{"type":"object","properties":{"role":{"type":"string","enum":["system"]},"content":{"type":"string"}},"required":["role","content"]},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["role","tool_call_id","content"]}]}},"stream":{"type":"boolean"},"temperature":{"type":"number"},"max_tokens":{"type":"number"},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"required":{"type":"array","items":{"type":"string"}},"properties":{"type":"object","additionalProperties":{}}},"required":["type"]}},"required":["name"]}},"required":["type","function"]}},"tool_choice":{"type":"string","enum":["REQUIRED","NONE"]},"safety_mode":{"type":"string","enum":["CONTEXTUAL","STRICT","OFF"]},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["json_object","text"]},"json_schema":{"type":"object","additionalProperties":{}}},"required":["type"]},"frequency_penalty":{"type":"number"},"presence_penalty":{"type":"number"},"k":{"type":"number"},"p":{"type":"number"},"seed":{"type":"number"},"stop_sequences":{"type":"array","items":{"type":"string"}},"logprobs":{"type":"boolean"}},"required":["model","messages"]},"CohereChatResponseInput":{"type":"object","properties":{"id":{"type":"string"},"message":{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["type","tool_call_id","content"]},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"}},"required":["type","thinking"]},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"]}},"required":["id","type","function"]}}},"required":["role"]},"finish_reason":{"anyOf":[{"type":"string","enum":["COMPLETE","MAX_TOKENS","STOP_SEQUENCE","TOOL_CALL","ERROR"]},{"type":"string"}]},"usage":{"type":"object","properties":{"billed_units":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}}},"tokens":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}}}}}},"required":["id","message","finish_reason"]},"MistralChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"MistralChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"PerplexityChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"},"stream_mode":{"type":"string","enum":["full","concise"]}},"required":["model","messages"]},"PerplexityChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"GroqChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"GroqChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"OpenrouterChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"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"}},"required":["content","role"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object","json_schema"]}},"required":["type"],"additionalProperties":{}},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"},"reasoning":{"type":"object","properties":{"enabled":{"type":"boolean"},"effort":{"type":"string"},"max_tokens":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"exclude":{"type":"boolean"}}}},"required":["model","messages"]},"OpenrouterChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"JevDecisionsRequestInput":{"type":"object","properties":{"model":{"type":"string"},"state":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}],"description":"The content the questions are about"},"questions":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","description":"Question kind: noul, choice, or score"},"instructions":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"criteria":{}},"required":["type","instructions","criteria"],"additionalProperties":{}},"description":"Decision questions keyed by name"}},"required":["model","state","questions"],"additionalProperties":{}},"JevDecisionsResponseInput":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"answers":{"type":"object","additionalProperties":{}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"cost":{"type":"number"}},"additionalProperties":{}}},"required":["answers"],"additionalProperties":{}},"VllmChatCompletionRequestInput":{"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"}},"required":["type","text"],"description":"A text content part"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"A developer message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"A system message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"},{"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"],"description":"Image URL details"}},"required":["type","image_url"],"description":"An image content part"},{"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"],"description":"Audio input details"}},"required":["type","input_audio"],"description":"An audio content part"},{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"File details"}},"required":["type","file"],"description":"A file content part"}],"description":"A content part in a message"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"A user message"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"A refusal content part"}}]},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"Function call details"}},"required":["id","type","function"],"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"Custom tool call details"}},"required":["id","type","custom"],"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}},"reasoning":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"}},"required":["role"],"description":"An assistant message"},{"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"}},"required":["type","text"],"description":"A text content part"},{"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"],"description":"Image URL details"}},"required":["type","image_url"],"description":"An image content part"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"A tool result message"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"A function result message (deprecated)"}],"description":"A message in the conversation"}},"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    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"A function definition for tool calling"}},"required":["type","function"],"description":"A function tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"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 grammar"}},"required":["definition","syntax"]}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"A custom tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"A custom tool in the flat Responses-API shape (see the OpenAI provider's ResponsesStyleCustomToolSchema)"}],"description":"A tool definition"}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model.\n    auto: allows the model to pick from allowed tools or generate a message.\n    required: requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"A function definition for tool calling"}},"required":["type","function"],"description":"A function tool definition"}}}},"required":["mode","tools"],"description":"Allowed tools configuration"}},"required":["type","allowed_tools"],"description":"Allowed tool choice configuration"},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"Named function tool choice"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"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 grammar"}},"required":["definition","syntax"]}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"A custom tool definition"}],"description":"Tool choice option"},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"stream":{"nullable":true,"type":"boolean"},"top_p":{"nullable":true,"type":"number"},"top_k":{"nullable":true,"type":"number"},"frequency_penalty":{"nullable":true,"type":"number"},"presence_penalty":{"nullable":true,"type":"number"},"repetition_penalty":{"nullable":true,"type":"number"},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"seed":{"nullable":true,"type":"number"},"n":{"nullable":true,"type":"number"},"best_of":{"nullable":true,"type":"number"},"logprobs":{"nullable":true,"type":"boolean"},"top_logprobs":{"nullable":true,"type":"number"},"chat_template_kwargs":{"type":"object","additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string"}},"required":["model","messages"]},"VllmChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"tool_calls":{"nullable":true,"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"],"description":"Function call details"}},"required":["id","type","function"],"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"Custom tool call details"}},"required":["id","type","custom"],"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}},"reasoning":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"}},"required":["role"],"description":"The assistant message in the response"}},"required":["finish_reason","message"],"description":"A choice in the chat completion response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{},"prompt_tokens_details":{}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"Token usage statistics for the completion"}},"required":["id","choices","created","model","object"]},"OllamaChatCompletionRequestInput":{"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"}},"required":["type","text"],"description":"A text content part"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"A developer message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"A system message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"},{"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"],"description":"Image URL details"}},"required":["type","image_url"],"description":"An image content part"},{"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"],"description":"Audio input details"}},"required":["type","input_audio"],"description":"An audio content part"},{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"File details"}},"required":["type","file"],"description":"A file content part"}],"description":"A content part in a message"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"A user message"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"A refusal content part"}}]},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"Function call details"}},"required":["id","type","function"],"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"Custom tool call details"}},"required":["id","type","custom"],"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}}},"required":["role"],"description":"An assistant message"},{"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"}},"required":["type","text"],"description":"A text content part"},{"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"],"description":"Image URL details"}},"required":["type","image_url"],"description":"An image content part"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"A tool result message"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"A function result message (deprecated)"}],"description":"A message in the conversation"}},"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    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"A function definition for tool calling"}},"required":["type","function"],"description":"A function tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"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 grammar"}},"required":["definition","syntax"]}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"A custom tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"A custom tool in the flat Responses-API shape (see the OpenAI provider's ResponsesStyleCustomToolSchema)"}],"description":"A tool definition"}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model.\n    auto: allows the model to pick from allowed tools or generate a message.\n    required: requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"A function definition for tool calling"}},"required":["type","function"],"description":"A function tool definition"}}}},"required":["mode","tools"],"description":"Allowed tools configuration"}},"required":["type","allowed_tools"],"description":"Allowed tool choice configuration"},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"Named function tool choice"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"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 grammar"}},"required":["definition","syntax"]}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"A custom tool definition"}],"description":"Tool choice option"},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"stream":{"nullable":true,"type":"boolean"},"top_p":{"nullable":true,"type":"number"},"frequency_penalty":{"nullable":true,"type":"number"},"presence_penalty":{"nullable":true,"type":"number"},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"seed":{"nullable":true,"type":"number"},"n":{"nullable":true,"type":"number"},"reasoning_effort":{"nullable":true,"type":"string"}},"required":["model","messages"]},"OllamaChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"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"],"description":"Function call details"}},"required":["id","type","function"],"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"Custom tool call details"}},"required":["id","type","custom"],"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}}},"required":["role"],"description":"The assistant message in the response"}},"required":["finish_reason","message"],"description":"A choice in the chat completion response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{},"prompt_tokens_details":{}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"Token usage statistics for the completion"}},"required":["id","choices","created","model","object"]},"OllamaNativeChatRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{}}]},"thinking":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"tool_calls":{"nullable":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"function":{"type":"object","properties":{"index":{"type":"number"},"name":{"type":"string"},"arguments":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]}},"required":["name","arguments"],"additionalProperties":{}}},"required":["function"],"additionalProperties":{}}},"tool_name":{"type":"string"},"tool_call_id":{"type":"string"}},"required":["role"],"additionalProperties":{}}},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","additionalProperties":{}}},"required":["name"],"additionalProperties":{}}},"required":["type","function"],"additionalProperties":{}}},"format":{},"options":{"type":"object","properties":{"temperature":{"type":"number"},"top_k":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top_p":{"type":"number"},"min_p":{"type":"number"},"typical_p":{"type":"number"},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"repeat_penalty":{"type":"number"},"repeat_last_n":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presence_penalty":{"type":"number"},"frequency_penalty":{"type":"number"},"stop":{"maxItems":16,"type":"array","items":{"type":"string","maxLength":256}},"num_keep":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"num_ctx":{"type":"integer","minimum":1,"maximum":10000000},"num_predict":{"type":"integer","minimum":-2,"maximum":9007199254740991}}},"stream":{"nullable":true,"type":"boolean"},"keep_alive":{"anyOf":[{"type":"string"},{"type":"number"}]},"think":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"temperature":{"nullable":true,"type":"number"},"top_p":{"nullable":true,"type":"number"},"max_output_tokens":{"nullable":true,"type":"number"},"truncate":{"type":"boolean"},"shift":{"type":"boolean"}},"required":["model","messages"],"additionalProperties":{}},"OllamaNativeChatResponseInput":{"type":"object","properties":{"model":{"type":"string"},"created_at":{"type":"string"},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"},"thinking":{"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"function":{"type":"object","properties":{"index":{"type":"number"},"name":{"type":"string"},"arguments":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]}},"required":["name","arguments"],"additionalProperties":{}}},"required":["function"],"additionalProperties":{}}}},"required":["role"],"additionalProperties":{}},"done":{"type":"boolean"},"done_reason":{"type":"string"},"total_duration":{"type":"number"},"load_duration":{"type":"number"},"prompt_eval_count":{"type":"number"},"prompt_eval_duration":{"type":"number"},"eval_count":{"type":"number"},"eval_duration":{"type":"number"}},"required":["model","message","done"],"additionalProperties":{}},"ZhipuaiChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["system"]},"content":{"type":"string"},"name":{"type":"string"}},"required":["role","content"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"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"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"required":["type","image_url"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}}]},"name":{"type":"string"}},"required":["role","content"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"name":{"type":"string"},"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"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["id","type","function"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"function_call":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]}},"required":["role"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"content":{"type":"string"},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"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://docs.z.ai/api-reference/llm/chat-completion#body\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"required":["type","function"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://docs.z.ai/api-reference/llm/chat-completion#body\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://docs.z.ai/api-reference/llm/chat-completion#body\n  "}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},"request_id":{"type":"string"},"do_sample":{"type":"boolean"},"stream":{"type":"boolean"},"thinking":{"type":"object","properties":{"type":{"type":"string","enum":["enabled","disabled"]},"clear_thinking":{"type":"boolean"}},"required":["type"]},"temperature":{"nullable":true,"type":"number"},"top_p":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"tool_stream":{"type":"boolean"},"stop":{"type":"array","items":{"type":"string"}},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object"]}},"required":["type"]},"user_id":{"type":"string"}},"required":["model","messages"]},"ZhipuaiChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"request_id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","sensitive","network_error"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"reasoning_content":{"type":"string"},"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"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["id","type","function"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]}},"required":["role"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["finish_reason","message"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"prompt_tokens_details":{"description":"https://docs.z.ai/api-reference/llm/chat-completion#response","type":"object","properties":{"cached_tokens":{"type":"number"}},"required":["cached_tokens"]}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"},"web_search":{"description":"https://docs.z.ai/api-reference/llm/chat-completion#response","type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"content":{"type":"string"},"link":{"type":"string"},"media":{"type":"string"},"icon":{"type":"string"},"refer":{"type":"string"},"publish_date":{"type":"string"}},"required":["title","content","link","media","icon","refer","publish_date"]}}},"required":["id","choices","created","model","object"]},"DeepSeekChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}},"DeepSeekChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"ArchestraChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}},"ArchestraChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"MinimaxChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}},"reasoning_details":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}}},"required":["role"]},{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}]}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"stream":{"type":"boolean"},"temperature":{"nullable":true,"type":"number","minimum":0,"maximum":1},"top_p":{"nullable":true,"type":"number","minimum":0,"maximum":1},"max_tokens":{"nullable":true,"type":"number"},"n":{"type":"number","enum":[1]},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object"]}},"required":["type"]},"user":{"type":"string"},"reasoning_split":{"type":"boolean"},"thinking":{"type":"object","properties":{"type":{"type":"string","enum":["enabled","disabled"]}},"required":["type"]},"extra_body":{"type":"object","properties":{"reasoning_split":{"type":"boolean"}}}},"required":["model","messages"]},"MinimaxChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"reasoning_details":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}},"reasoning_content":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#response"}},"required":["finish_reason","message"],"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"type":"object","properties":{"reasoning_tokens":{"type":"number"}}}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#usage"}},"required":["id","choices","created","model","object"]},"XaiChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"XaiChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"UserConfigFieldDefaultInput":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]},"UserConfigFieldInput":{"type":"object","properties":{"type":{"type":"string","enum":["string","number","boolean","directory","file"]},"title":{"type":"string"},"description":{"type":"string"},"promptOnInstallation":{"type":"boolean"},"required":{"type":"boolean"},"default":{"allOf":[{"$ref":"#/components/schemas/UserConfigFieldDefaultInput"}]},"multiple":{"type":"boolean"},"sensitive":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"headerName":{"type":"string"},"valuePrefix":{"type":"string"}},"required":["type","title","description"]},"InteractionVirtualKeyInput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"keyType":{"type":"string","enum":["standard","passthrough"]},"tokenStart":{"type":"string"},"ownerUserId":{"nullable":true,"type":"string"},"ownerUserName":{"nullable":true,"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}},"createdByUserName":{"nullable":true,"type":"string"}},"required":["id","name","scope","keyType","tokenStart","ownerUserId","ownerUserName","teams","createdByUserName"]},"LogContentNotStored":{"type":"object","properties":{"__redacted":{"type":"string","enum":["log_content_policy"]},"isError":{"type":"boolean"},"errorType":{"type":"string","enum":["auth_required","auth_expired","assigned_credential_unavailable","tool_state","cancelled","generic"]},"archestraExecutedAs":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["personal"]},"ownerUserId":{"nullable":true,"type":"string"},"ownerName":{"nullable":true,"type":"string"}},"required":["kind","ownerUserId","ownerName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["team"]},"teamId":{"type":"string"},"teamName":{"nullable":true,"type":"string"}},"required":["kind","teamId","teamName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["org"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["idp_exchange"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["idp_passthrough"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["caller_headers"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["platform"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false}]}},"required":["__redacted"],"additionalProperties":false},"TextSearchLanguage":{"type":"string","enum":["simple","arabic","armenian","basque","catalan","danish","dutch","english","finnish","french","german","greek","hindi","hungarian","indonesian","irish","italian","lithuanian","nepali","norwegian","portuguese","romanian","russian","serbian","spanish","swedish","tamil","turkish","yiddish"]},"ContextualRetrievalMode":{"type":"string","enum":["disabled","document","chunk"]},"EmbeddingDimensions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"enum":[3072,1536,1408,1024,768,384]},"LocalConfigEnvironmentDefault":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"OpenAiChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"OpenAiChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"GeminiGenerateContentRequest":{"type":"object","properties":{"contents":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","description":"The role of the author of this content."},"parts":{"type":"array","items":{"anyOf":[{"anyOf":[{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"text":{"type":"string"},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["text"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"inlineData":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string"}},"required":["data"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["inlineData"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionCall":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"args":{"type":"object","additionalProperties":{}}},"required":["name"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionCall"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"response":{"type":"object","additionalProperties":{}},"willContinue":{"type":"boolean"},"scheduling":{"type":"string","enum":["SCHEDULING_UNSPECIFIED","SILENT","WHEN_IDLE","INTERRUPT"]}},"required":["name","response"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionResponse"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"fileData":{"type":"object","properties":{"mimeType":{"type":"string"},"fileUri":{"type":"string"}},"required":["fileUri"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["fileData"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"language":{"type":"string","enum":["LANGUAGE_UNSPECIFIED","PYTHON"]},"executableCode":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["language","executableCode"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"codeExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["OUTCOME_UNSPECIFIED","OUTCOME_OK","OUTCOME_FAILED","OUTCOME_DEADLINE_EXCEEDED"],"description":"Outcome of the code execution."},"output":{"type":"string"}},"required":["outcome"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["codeExecutionResult"],"additionalProperties":false}]}],"description":"https://ai.google.dev/api/caching#Part"}}},"required":["role","parts"],"additionalProperties":false,"description":"\nThe base structured datatype containing multi-part content of a message.\n\nA Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.\n\nhttps://ai.google.dev/api/caching#Content\n"},"description":"The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries like chat, this is a repeated field that contains the conversation history and the latest request"},"tools":{"description":"A list of Tools the Model may use to generate the next response. A Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the Model. Supported Tools are Function and codeExecution. Refer to the Function calling and the Code execution guides to learn more.","anyOf":[{"type":"array","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"additionalProperties":false,"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"additionalProperties":false,"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}},{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"additionalProperties":false,"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"additionalProperties":false,"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}]},"toolConfig":{"description":"Tool configuration for any Tool specified in the request.","type":"object","properties":{"functionCallingConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["AUTO","ANY","NONE"]},"allowedFunctionNames":{"type":"array","items":{"type":"string"}}},"required":["mode"],"additionalProperties":false}},"required":["functionCallingConfig"],"additionalProperties":false},"safetySettings":{"description":"A list of unique SafetySetting instances for blocking unsafe content.","type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"threshold":{"type":"string","enum":["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"],"description":"\n      Controls the probability threshold at which harm is blocked.\n\n      https://ai.google.dev/api/generate-content#HarmBlockThreshold\n      "}},"required":["category","threshold"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.SafetySetting"}},"systemInstruction":{"type":"object","properties":{"parts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false}}},"required":["parts"],"additionalProperties":false,"description":"Developer set system instruction(s). Currently, text only."},"generationConfig":{"type":"object","properties":{"stopSequences":{"type":"array","items":{"type":"string"}},"responseMimeType":{"type":"string"},"responseSchema":{},"_responseJsonSchema":{},"responseJsonSchema":{},"responseModalities":{"type":"array","items":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"}},"candidateCount":{"type":"number"},"maxOutputTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"topK":{"type":"number"},"seed":{"type":"number"},"presencePenalty":{"type":"number"},"frequencyPenalty":{"type":"number"},"responseLogprobs":{"type":"boolean"},"logProbs":{"type":"number"},"enableEnhancedCivicAnswers":{"type":"boolean"},"speechConfig":{},"thinkingConfig":{},"imageConfig":{},"mediaResolution":{"description":"https://ai.google.dev/api/generate-content#MediaResolution","type":"string","enum":["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]}},"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.GenerationConfig"},"cachedContent":{"description":"The name of the content cached to use as context to serve the prediction. Format: cachedContents/{cachedContent}","type":"string"},"config":{"type":"object","properties":{"tools":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"additionalProperties":false,"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"additionalProperties":false,"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}},{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"additionalProperties":false,"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"additionalProperties":false,"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}]},"toolConfig":{"description":"Tool configuration for any Tool specified in the request.","type":"object","properties":{"functionCallingConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["AUTO","ANY","NONE"]},"allowedFunctionNames":{"type":"array","items":{"type":"string"}}},"required":["mode"],"additionalProperties":false}},"required":["functionCallingConfig"],"additionalProperties":false}},"additionalProperties":false}},"required":["contents"],"additionalProperties":false},"GeminiGenerateContentResponse":{"type":"object","properties":{"candidates":{"description":"Candidate responses from the model","type":"array","items":{"type":"object","properties":{"content":{"type":"object","properties":{"role":{"type":"string","description":"The role of the author of this content."},"parts":{"type":"array","items":{"anyOf":[{"anyOf":[{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"text":{"type":"string"},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["text"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"inlineData":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string"}},"required":["data"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["inlineData"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionCall":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"args":{"type":"object","additionalProperties":{}}},"required":["name"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionCall"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"response":{"type":"object","additionalProperties":{}},"willContinue":{"type":"boolean"},"scheduling":{"type":"string","enum":["SCHEDULING_UNSPECIFIED","SILENT","WHEN_IDLE","INTERRUPT"]}},"required":["name","response"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionResponse"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"fileData":{"type":"object","properties":{"mimeType":{"type":"string"},"fileUri":{"type":"string"}},"required":["fileUri"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["fileData"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"language":{"type":"string","enum":["LANGUAGE_UNSPECIFIED","PYTHON"]},"executableCode":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["language","executableCode"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"codeExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["OUTCOME_UNSPECIFIED","OUTCOME_OK","OUTCOME_FAILED","OUTCOME_DEADLINE_EXCEEDED"],"description":"Outcome of the code execution."},"output":{"type":"string"}},"required":["outcome"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["codeExecutionResult"],"additionalProperties":false}]}],"description":"https://ai.google.dev/api/caching#Part"}}},"required":["role","parts"],"additionalProperties":false,"description":"\nThe base structured datatype containing multi-part content of a message.\n\nA Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.\n\nhttps://ai.google.dev/api/caching#Content\n"},"finishReason":{"description":"\n  The reason why the model stopped generating tokens.\n\n  If empty, the model has not stopped generating tokens.\n\n  https://ai.google.dev/api/generate-content#FinishReason\n","anyOf":[{"type":"string","enum":["FINISH_REASON_UNSPECIFIED","STOP","MAX_TOKENS","SAFETY","RECITATION","LANGUAGE","OTHER","BLOCKLIST","PROHIBITED_CONTENT","SPII","MALFORMED_FUNCTION_CALL","IMAGE_SAFETY","IMAGE_PROHIBITED_CONTENT","IMAGE_OTHER","NO_IMAGE","IMAGE_RECITATION","UNEXPECTED_TOOL_CALL","TOO_MANY_TOOL_CALLS"]},{"type":"string"}]},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"probability":{"type":"string","enum":["HARM_PROBABILITY_UNSPECIFIED","NEGLIGIBLE","LOW","MEDIUM","HIGH"],"description":"https://ai.google.dev/api/generate-content#HarmProbability"},"blocked":{"description":"Was this content blocked because of this rating?","type":"boolean"}},"required":["category","probability"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.SafetyRating"}},"citationMetadata":{"description":"https://ai.google.dev/api/generate-content#citationmetadata","type":"object","properties":{"citationSources":{"type":"array","items":{"description":"https://ai.google.dev/api/generate-content#CitationSource","type":"object","properties":{"startIndex":{"type":"number"},"endIndex":{"type":"number"},"uri":{"type":"string"},"license":{"type":"string"}},"additionalProperties":false}}},"required":["citationSources"],"additionalProperties":false},"tokenCount":{"type":"number"},"groundingAttributions":{"type":"array","items":{}},"groundingMetadata":{},"avgLogprobs":{"type":"number"},"logprobsResult":{},"urlContextMetadata":{},"index":{"description":"Index of the candidate in the list of response candidates.","type":"number"},"finishMessage":{"description":"Details the reason why the model stopped generating tokens. This is populated only when finishReason is set.","type":"string"}},"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#candidate"}},"promptFeedback":{"description":"Returns the prompt's feedback related to the content filters","type":"object","properties":{"blockReason":{"description":"Specifies the reason why the prompt was blocked. https://ai.google.dev/api/generate-content#BlockReason","anyOf":[{"type":"string","enum":["BLOCK_REASON_UNSPECIFIED","SAFETY","OTHER","BLOCKLIST","PROHIBITED_CONTENT","IMAGE_SAFETY"]},{"type":"string"}]},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"probability":{"type":"string","enum":["HARM_PROBABILITY_UNSPECIFIED","NEGLIGIBLE","LOW","MEDIUM","HIGH"],"description":"https://ai.google.dev/api/generate-content#HarmProbability"},"blocked":{"description":"Was this content blocked because of this rating?","type":"boolean"}},"required":["category","probability"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.SafetyRating"}}},"additionalProperties":false},"usageMetadata":{"description":"Metadata on the generation requests' token usage","type":"object","properties":{"trafficType":{"description":"Traffic tier that served the request.","type":"string"},"promptTokenCount":{"type":"number"},"cachedContentTokenCount":{"type":"number"},"candidatesTokenCount":{"type":"number"},"toolUsePromptTokenCount":{"type":"number"},"thoughtsTokenCount":{"type":"number"},"totalTokenCount":{"type":"number"},"promptTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"cacheTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"candidatesTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"toolUsePromptTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}}},"additionalProperties":false},"modelVersion":{"description":"The model version used to generate the response.","type":"string"},"responseId":{"description":"The unique response ID.","type":"string"}},"additionalProperties":false},"AnthropicMessagesRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false}]}}]}},"required":["type","content"],"additionalProperties":false}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false,"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"},"signature":{"type":"string"}},"required":["type","thinking","signature"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redacted_thinking"]},"data":{"type":"string"}},"required":["type","data"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]},"cache_control":{"nullable":true}},"required":["id","input","name","type"],"additionalProperties":false},{"type":"object","properties":{"tool_use_id":{"type":"string"},"type":{"type":"string","enum":["tool_result"]},"cache_control":{"nullable":true},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false}]}}]}},"required":["type","content"],"additionalProperties":false}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false,"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"}]}}]},"is_error":{"type":"boolean"}},"required":["tool_use_id","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["search_result","server_tool_use","web_search_tool_result","web_fetch_tool_result","code_execution_tool_result","bash_code_execution_tool_result","text_editor_code_execution_tool_result","tool_search_tool_result","container_upload"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"role":{"type":"string","enum":["user","assistant","system"]}},"required":["content","role"],"additionalProperties":false}},"max_tokens":{"type":"number"},"container":{"nullable":true,"type":"string"},"context_management":{"nullable":true,"type":"object","properties":{},"additionalProperties":{}},"mcp_servers":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"user_id":{"nullable":true,"type":"string"}},"additionalProperties":{}},"output_config":{"type":"object","properties":{"effort":{"nullable":true,"type":"string"},"format":{"nullable":true,"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"schema":{"type":"object","additionalProperties":{}}},"required":["type","schema"],"additionalProperties":false}},"additionalProperties":{}},"service_tier":{},"speed":{"type":"string","enum":["fast","standard"]},"stop_sequences":{"type":"array","items":{"type":"string"}},"stream":{"type":"boolean"},"system":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}}}]},"temperature":{"type":"number"},"thinking":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["enabled"]},"budget_tokens":{"type":"number"},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type","budget_tokens"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["disabled"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["between_tools"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["adaptive"]},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]},"tool_choice":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["auto"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["any"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"name":{"type":"string"},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["none"]}},"required":["type"],"additionalProperties":false}]},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["custom"]},"cache_control":{"nullable":true},"input_schema":{"type":"object","additionalProperties":{}},"description":{"type":"string"}},"required":["name","input_schema"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["bash"]},"type":{"type":"string","enum":["bash_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_editor"]},"type":{"type":"string","enum":["text_editor_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250429"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250728"]},"cache_control":{"nullable":true},"max_characters":{"nullable":true,"type":"number"}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["web_search"]},"type":{"type":"string","enum":["web_search_20250305"]},"allowed_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"blocked_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"cache_control":{"nullable":true},"max_uses":{"nullable":true,"type":"number"},"user_location":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"top_k":{"type":"number"},"top_p":{"type":"number"}},"required":["model","messages","max_tokens"],"additionalProperties":{}},"AnthropicMessagesResponse":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"citations":{"nullable":true,"type":"array","items":{}},"text":{"type":"string"},"type":{"type":"string","enum":["text"]}},"required":["citations","text","type"],"additionalProperties":{}},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]}},"required":["id","input","name","type"],"additionalProperties":{}}]}},"model":{"type":"string"},"role":{"type":"string","enum":["assistant"]},"stop_reason":{"nullable":true},"stop_sequence":{"nullable":true,"type":"string"},"type":{"type":"string","enum":["message"]},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"cache_read_input_tokens":{"nullable":true,"type":"number"},"cache_creation_input_tokens":{"nullable":true,"type":"number"},"cache_creation":{"nullable":true,"type":"object","properties":{"ephemeral_1h_input_tokens":{"nullable":true,"type":"number"},"ephemeral_5m_input_tokens":{"nullable":true,"type":"number"}},"additionalProperties":false}},"required":["input_tokens","output_tokens"],"additionalProperties":{}}},"required":["id","content","model","role","type","usage"],"additionalProperties":{}},"CerebrasChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"CerebrasChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/Cerebras/cerebras-cloud-sdk-node/blob/main/src/resources/chat/completions.ts"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/Cerebras/cerebras-cloud-sdk-node/blob/main/src/resources/chat/completions.ts"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"CohereChatRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"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}},"required":["type","image_url"],"additionalProperties":false}]}}]}},"required":["role","content"],"additionalProperties":false},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["type","tool_call_id","content"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"}},"required":["type","thinking"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}}},"required":["role"],"additionalProperties":false},{"type":"object","properties":{"role":{"type":"string","enum":["system"]},"content":{"type":"string"}},"required":["role","content"],"additionalProperties":false},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["role","tool_call_id","content"],"additionalProperties":false}]}},"stream":{"type":"boolean"},"temperature":{"type":"number"},"max_tokens":{"type":"number"},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"required":{"type":"array","items":{"type":"string"}},"properties":{"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":false}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false}},"tool_choice":{"type":"string","enum":["REQUIRED","NONE"]},"safety_mode":{"type":"string","enum":["CONTEXTUAL","STRICT","OFF"]},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["json_object","text"]},"json_schema":{"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":false},"frequency_penalty":{"type":"number"},"presence_penalty":{"type":"number"},"k":{"type":"number"},"p":{"type":"number"},"seed":{"type":"number"},"stop_sequences":{"type":"array","items":{"type":"string"}},"logprobs":{"type":"boolean"}},"required":["model","messages"],"additionalProperties":false},"CohereChatResponse":{"type":"object","properties":{"id":{"type":"string"},"message":{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["type","tool_call_id","content"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"}},"required":["type","thinking"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}}},"required":["role"],"additionalProperties":false},"finish_reason":{"anyOf":[{"type":"string","enum":["COMPLETE","MAX_TOKENS","STOP_SEQUENCE","TOOL_CALL","ERROR"]},{"type":"string"}]},"usage":{"type":"object","properties":{"billed_units":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"additionalProperties":false},"tokens":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"additionalProperties":false}},"additionalProperties":false}},"required":["id","message","finish_reason"],"additionalProperties":false},"MistralChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"MistralChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"PerplexityChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"},"stream_mode":{"type":"string","enum":["full","concise"]}},"required":["model","messages"],"additionalProperties":false},"PerplexityChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"GroqChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"GroqChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"OpenrouterChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["content","role"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object","json_schema"]}},"required":["type"],"additionalProperties":{}},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"},"reasoning":{"type":"object","properties":{"enabled":{"type":"boolean"},"effort":{"type":"string"},"max_tokens":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"exclude":{"type":"boolean"}},"additionalProperties":false}},"required":["model","messages"],"additionalProperties":false},"OpenrouterChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"JevDecisionsRequest":{"type":"object","properties":{"model":{"type":"string"},"state":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}],"description":"The content the questions are about"},"questions":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","description":"Question kind: noul, choice, or score"},"instructions":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"criteria":{}},"required":["type","instructions","criteria"],"additionalProperties":{}},"description":"Decision questions keyed by name"}},"required":["model","state","questions"],"additionalProperties":{}},"JevDecisionsResponse":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"answers":{"type":"object","additionalProperties":{}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"cost":{"type":"number"}},"additionalProperties":{}}},"required":["answers"],"additionalProperties":{}},"VllmChatCompletionRequest":{"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"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A developer message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A system message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"},{"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":"Image URL details"}},"required":["type","image_url"],"additionalProperties":false,"description":"An image content part"},{"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":"Audio input details"}},"required":["type","input_audio"],"additionalProperties":false,"description":"An audio content part"},{"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":"File details"}},"required":["type","file"],"additionalProperties":false,"description":"A file content part"}],"description":"A content part in a message"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A user message"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","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"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"A refusal content part"}}]},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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":"Function call details"}},"required":["id","type","function"],"additionalProperties":false,"description":"A function tool call in the message"},{"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":"Custom tool call details"}},"required":["id","type","custom"],"additionalProperties":false,"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}},"reasoning":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"}},"required":["role"],"additionalProperties":false,"description":"An assistant message"},{"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"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"},{"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":"Image URL details"}},"required":["type","image_url"],"additionalProperties":false,"description":"An image content part"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"A tool result message"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"A function result message (deprecated)"}],"description":"A message in the conversation"}},"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    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"A function definition for tool calling"}},"required":["type","function"],"additionalProperties":false,"description":"A function tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"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 grammar"}},"required":["definition","syntax"],"additionalProperties":false}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"A custom tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"A custom tool in the flat Responses-API shape (see the OpenAI provider's ResponsesStyleCustomToolSchema)"}],"description":"A tool definition"}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model.\n    auto: allows the model to pick from allowed tools or generate a message.\n    required: requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"A function definition for tool calling"}},"required":["type","function"],"additionalProperties":false,"description":"A function tool definition"}}}},"required":["mode","tools"],"additionalProperties":false,"description":"Allowed tools configuration"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"Allowed tool choice configuration"},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"Named function tool choice"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"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 grammar"}},"required":["definition","syntax"],"additionalProperties":false}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"A custom tool definition"}],"description":"Tool choice option"},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"stream":{"nullable":true,"type":"boolean"},"top_p":{"nullable":true,"type":"number"},"top_k":{"nullable":true,"type":"number"},"frequency_penalty":{"nullable":true,"type":"number"},"presence_penalty":{"nullable":true,"type":"number"},"repetition_penalty":{"nullable":true,"type":"number"},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"seed":{"nullable":true,"type":"number"},"n":{"nullable":true,"type":"number"},"best_of":{"nullable":true,"type":"number"},"logprobs":{"nullable":true,"type":"boolean"},"top_logprobs":{"nullable":true,"type":"number"},"chat_template_kwargs":{"type":"object","additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string"}},"required":["model","messages"],"additionalProperties":false},"VllmChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"tool_calls":{"nullable":true,"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":"Function call details"}},"required":["id","type","function"],"additionalProperties":false,"description":"A function tool call in the message"},{"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":"Custom tool call details"}},"required":["id","type","custom"],"additionalProperties":false,"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}},"reasoning":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"}},"required":["role"],"additionalProperties":false,"description":"The assistant message in the response"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"A choice in the chat completion response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{},"prompt_tokens_details":{}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"Token usage statistics for the completion"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"OllamaChatCompletionRequest":{"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"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A developer message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A system message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"},{"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":"Image URL details"}},"required":["type","image_url"],"additionalProperties":false,"description":"An image content part"},{"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":"Audio input details"}},"required":["type","input_audio"],"additionalProperties":false,"description":"An audio content part"},{"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":"File details"}},"required":["type","file"],"additionalProperties":false,"description":"A file content part"}],"description":"A content part in a message"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A user message"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","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"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"A refusal content part"}}]},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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":"Function call details"}},"required":["id","type","function"],"additionalProperties":false,"description":"A function tool call in the message"},{"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":"Custom tool call details"}},"required":["id","type","custom"],"additionalProperties":false,"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}}},"required":["role"],"additionalProperties":false,"description":"An assistant message"},{"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"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"},{"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":"Image URL details"}},"required":["type","image_url"],"additionalProperties":false,"description":"An image content part"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"A tool result message"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"A function result message (deprecated)"}],"description":"A message in the conversation"}},"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    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"A function definition for tool calling"}},"required":["type","function"],"additionalProperties":false,"description":"A function tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"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 grammar"}},"required":["definition","syntax"],"additionalProperties":false}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"A custom tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"A custom tool in the flat Responses-API shape (see the OpenAI provider's ResponsesStyleCustomToolSchema)"}],"description":"A tool definition"}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model.\n    auto: allows the model to pick from allowed tools or generate a message.\n    required: requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"A function definition for tool calling"}},"required":["type","function"],"additionalProperties":false,"description":"A function tool definition"}}}},"required":["mode","tools"],"additionalProperties":false,"description":"Allowed tools configuration"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"Allowed tool choice configuration"},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"Named function tool choice"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"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 grammar"}},"required":["definition","syntax"],"additionalProperties":false}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"A custom tool definition"}],"description":"Tool choice option"},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"stream":{"nullable":true,"type":"boolean"},"top_p":{"nullable":true,"type":"number"},"frequency_penalty":{"nullable":true,"type":"number"},"presence_penalty":{"nullable":true,"type":"number"},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"seed":{"nullable":true,"type":"number"},"n":{"nullable":true,"type":"number"},"reasoning_effort":{"nullable":true,"type":"string"}},"required":["model","messages"],"additionalProperties":false},"OllamaChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"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":"Function call details"}},"required":["id","type","function"],"additionalProperties":false,"description":"A function tool call in the message"},{"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":"Custom tool call details"}},"required":["id","type","custom"],"additionalProperties":false,"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}}},"required":["role"],"additionalProperties":false,"description":"The assistant message in the response"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"A choice in the chat completion response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{},"prompt_tokens_details":{}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"Token usage statistics for the completion"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"OllamaNativeChatRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{}}]},"thinking":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"tool_calls":{"nullable":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"function":{"type":"object","properties":{"index":{"type":"number"},"name":{"type":"string"},"arguments":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]}},"required":["name","arguments"],"additionalProperties":{}}},"required":["function"],"additionalProperties":{}}},"tool_name":{"type":"string"},"tool_call_id":{"type":"string"}},"required":["role"],"additionalProperties":{}}},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","additionalProperties":{}}},"required":["name"],"additionalProperties":{}}},"required":["type","function"],"additionalProperties":{}}},"format":{},"options":{"type":"object","properties":{"temperature":{"type":"number"},"top_k":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top_p":{"type":"number"},"min_p":{"type":"number"},"typical_p":{"type":"number"},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"repeat_penalty":{"type":"number"},"repeat_last_n":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presence_penalty":{"type":"number"},"frequency_penalty":{"type":"number"},"stop":{"maxItems":16,"type":"array","items":{"type":"string","maxLength":256}},"num_keep":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"num_ctx":{"type":"integer","minimum":1,"maximum":10000000},"num_predict":{"type":"integer","minimum":-2,"maximum":9007199254740991}},"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"keep_alive":{},"think":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"temperature":{"nullable":true,"type":"number"},"top_p":{"nullable":true,"type":"number"},"max_output_tokens":{"nullable":true,"type":"number"},"truncate":{"type":"boolean"},"shift":{"type":"boolean"}},"required":["model","messages"],"additionalProperties":{}},"OllamaNativeChatResponse":{"type":"object","properties":{"model":{"type":"string"},"created_at":{"type":"string"},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"},"thinking":{"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"function":{"type":"object","properties":{"index":{"type":"number"},"name":{"type":"string"},"arguments":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]}},"required":["name","arguments"],"additionalProperties":{}}},"required":["function"],"additionalProperties":{}}}},"required":["role"],"additionalProperties":{}},"done":{"type":"boolean"},"done_reason":{"type":"string"},"total_duration":{"type":"number"},"load_duration":{"type":"number"},"prompt_eval_count":{"type":"number"},"prompt_eval_duration":{"type":"number"},"eval_count":{"type":"number"},"eval_duration":{"type":"number"}},"required":["model","message","done"],"additionalProperties":{}},"ZhipuaiChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["system"]},"content":{"type":"string"},"name":{"type":"string"}},"required":["role","content"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"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://docs.z.ai/api-reference/llm/chat-completion#body"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}}]},"name":{"type":"string"}},"required":["role","content"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"name":{"type":"string"},"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://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"function_call":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false}},"required":["role"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"content":{"type":"string"},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"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://docs.z.ai/api-reference/llm/chat-completion#body\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [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":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"required":["type","function"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://docs.z.ai/api-reference/llm/chat-completion#body\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://docs.z.ai/api-reference/llm/chat-completion#body\n  "}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},"request_id":{"type":"string"},"do_sample":{"type":"boolean"},"stream":{"type":"boolean"},"thinking":{"type":"object","properties":{"type":{"type":"string","enum":["enabled","disabled"]},"clear_thinking":{"type":"boolean"}},"required":["type"],"additionalProperties":false},"temperature":{"nullable":true,"type":"number"},"top_p":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"tool_stream":{"type":"boolean"},"stop":{"type":"array","items":{"type":"string"}},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object"]}},"required":["type"],"additionalProperties":false},"user_id":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"ZhipuaiChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"request_id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","sensitive","network_error"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"reasoning_content":{"type":"string"},"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://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false}},"required":["role"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"prompt_tokens_details":{"description":"https://docs.z.ai/api-reference/llm/chat-completion#response","type":"object","properties":{"cached_tokens":{"type":"number"}},"required":["cached_tokens"],"additionalProperties":false}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"},"web_search":{"description":"https://docs.z.ai/api-reference/llm/chat-completion#response","type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"content":{"type":"string"},"link":{"type":"string"},"media":{"type":"string"},"icon":{"type":"string"},"refer":{"type":"string"},"publish_date":{"type":"string"}},"required":["title","content","link","media","icon","refer","publish_date"],"additionalProperties":false}}},"required":["id","choices","created","model","object"],"additionalProperties":false},"DeepSeekChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}},"DeepSeekChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"ArchestraChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}},"ArchestraChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"MinimaxChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}},"reasoning_details":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false}}},"required":["role"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}]}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"stream":{"type":"boolean"},"temperature":{"nullable":true,"type":"number","minimum":0,"maximum":1},"top_p":{"nullable":true,"type":"number","minimum":0,"maximum":1},"max_tokens":{"nullable":true,"type":"number"},"n":{"type":"number","enum":[1]},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object"]}},"required":["type"],"additionalProperties":false},"user":{"type":"string"},"reasoning_split":{"type":"boolean"},"thinking":{"type":"object","properties":{"type":{"type":"string","enum":["enabled","disabled"]}},"required":["type"],"additionalProperties":false},"extra_body":{"type":"object","properties":{"reasoning_split":{"type":"boolean"}},"additionalProperties":false}},"required":["model","messages"],"additionalProperties":false},"MinimaxChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"reasoning_details":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false}},"reasoning_content":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#response"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"type":"object","properties":{"reasoning_tokens":{"type":"number"}},"additionalProperties":false}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#usage"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"XaiChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"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"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"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"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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":{"nullable":true,"type":"boolean"}},"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"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"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 grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"XaiChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"UserConfigFieldDefault":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]},"UserConfigField":{"type":"object","properties":{"type":{"type":"string","enum":["string","number","boolean","directory","file"]},"title":{"type":"string"},"description":{"type":"string"},"promptOnInstallation":{"type":"boolean"},"required":{"type":"boolean"},"default":{"allOf":[{"$ref":"#/components/schemas/UserConfigFieldDefault"}]},"multiple":{"type":"boolean"},"sensitive":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"headerName":{"type":"string"},"valuePrefix":{"type":"string"}},"required":["type","title","description"],"additionalProperties":false},"InteractionVirtualKey":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"keyType":{"type":"string","enum":["standard","passthrough"]},"tokenStart":{"type":"string"},"ownerUserId":{"nullable":true,"type":"string"},"ownerUserName":{"nullable":true,"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"createdByUserName":{"nullable":true,"type":"string"}},"required":["id","name","scope","keyType","tokenStart","ownerUserId","ownerUserName","teams","createdByUserName"],"additionalProperties":false}}},"paths":{"/v1/anthropic/v1/messages":{"post":{"operationId":"anthropicMessagesWithDefaultAgent","tags":["LLM Proxy"],"description":"Send a message to Anthropic using the default agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnthropicMessagesRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"anthropic-version","required":true},{"schema":{"type":"string"},"in":"header","name":"anthropic-beta","required":false,"description":"Beta features to enable (comma-separated)"},{"schema":{"type":"string"},"in":"header","name":"x-api-key","required":false},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header (Bearer token for OAuth)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnthropicMessagesResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/anthropic/{agentId}/v1/messages":{"post":{"operationId":"anthropicMessagesWithAgent","tags":["LLM Proxy"],"description":"Send a message to Anthropic using a specific agent (n8n URL format)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnthropicMessagesRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"anthropic-version","required":true},{"schema":{"type":"string"},"in":"header","name":"anthropic-beta","required":false,"description":"Beta features to enable (comma-separated)"},{"schema":{"type":"string"},"in":"header","name":"x-api-key","required":false},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header (Bearer token for OAuth)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnthropicMessagesResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/anthropic/v1/models":{"get":{"operationId":"anthropicListModelsWithDefaultAgent","tags":["LLM Proxy"],"description":"List Anthropic models (default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string"},"in":"header","name":"x-api-key","required":false},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false},{"schema":{"type":"string"},"in":"header","name":"anthropic-version","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["model"]},"id":{"type":"string"},"display_name":{"type":"string"},"created_at":{"type":"string"}},"required":["type","id","display_name"],"additionalProperties":false}},"has_more":{"type":"boolean"}},"required":["data","has_more"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/anthropic/{agentId}/v1/models":{"get":{"operationId":"anthropicListModelsWithAgent","tags":["LLM Proxy"],"description":"List Anthropic models (specific agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"x-api-key","required":false},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false},{"schema":{"type":"string"},"in":"header","name":"anthropic-version","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["model"]},"id":{"type":"string"},"display_name":{"type":"string"},"created_at":{"type":"string"}},"required":["type","id","display_name"],"additionalProperties":false}},"has_more":{"type":"boolean"}},"required":["data","has_more"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/archestra/chat/completions":{"post":{"operationId":"archestraChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Archestra (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchestraChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchestraChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/archestra/{agentId}/chat/completions":{"post":{"operationId":"archestraChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Archestra for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchestraChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchestraChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/files":{"post":{"operationId":"azureCreateFile","tags":["LLM Proxy"],"description":"Upload a bounded user_data file to the uniquely selected Azure account. File handles are principal/account scoped and support lifecycle operations only.\n\nAuthentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"purpose":{"type":"string","enum":["user_data"]},"expires_after[anchor]":{"type":"string","enum":["created_at"]},"expires_after[seconds]":{"type":"integer","minimum":3600,"maximum":2592000}},"required":["file","purpose"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["file"]},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"filename":{"type":"string"},"purpose":{"type":"string","enum":["user_data"]},"expires_at":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["uploaded","processed","error","pending","running","succeeded","failed","cancelled"]}},"required":["id","object","bytes","created_at","filename","purpose"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}},"get":{"operationId":"azureListFiles","tags":["LLM Proxy"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"api-version","required":false},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string","pattern":"^file-archestra-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"in":"query","name":"after","required":false},{"schema":{"default":"desc","type":"string","enum":["asc","desc"]},"in":"query","name":"order","required":false},{"schema":{"type":"string","enum":["user_data"]},"in":"query","name":"purpose","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["file"]},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"filename":{"type":"string"},"purpose":{"type":"string","enum":["user_data"]},"expires_at":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["uploaded","processed","error","pending","running","succeeded","failed","cancelled"]}},"required":["id","object","bytes","created_at","filename","purpose"],"additionalProperties":false}},"first_id":{"nullable":true,"type":"string"},"last_id":{"nullable":true,"type":"string"},"has_more":{"type":"boolean"}},"required":["object","data","first_id","last_id","has_more"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"description":"Authentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files)."}},"/v1/azure/files/{fileId}":{"get":{"operationId":"azureRetrieveFile","tags":["LLM Proxy"],"parameters":[{"schema":{"type":"string","pattern":"^file-archestra-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"in":"path","name":"fileId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["file"]},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"filename":{"type":"string"},"purpose":{"type":"string","enum":["user_data"]},"expires_at":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["uploaded","processed","error","pending","running","succeeded","failed","cancelled"]}},"required":["id","object","bytes","created_at","filename","purpose"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"description":"Authentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files)."},"delete":{"operationId":"azureDeleteFile","tags":["LLM Proxy"],"parameters":[{"schema":{"type":"string","pattern":"^file-archestra-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"in":"path","name":"fileId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["file"]},"deleted":{"type":"boolean","enum":[true]}},"required":["id","object","deleted"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"description":"Authentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files)."}},"/v1/azure/files/{fileId}/content":{"get":{"operationId":"azureFileContent","tags":["LLM Proxy"],"parameters":[{"schema":{"type":"string","pattern":"^file-archestra-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"in":"path","name":"fileId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}},"description":"Authentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files)."}},"/v1/azure/{agentId}/files":{"post":{"operationId":"azureCreateFileWithAgent","tags":["LLM Proxy"],"description":"Upload a bounded user_data file to the uniquely selected Azure account. File handles are principal/account scoped and support lifecycle operations only.\n\nAuthentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"purpose":{"type":"string","enum":["user_data"]},"expires_after[anchor]":{"type":"string","enum":["created_at"]},"expires_after[seconds]":{"type":"integer","minimum":3600,"maximum":2592000}},"required":["file","purpose"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["file"]},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"filename":{"type":"string"},"purpose":{"type":"string","enum":["user_data"]},"expires_at":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["uploaded","processed","error","pending","running","succeeded","failed","cancelled"]}},"required":["id","object","bytes","created_at","filename","purpose"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}},"get":{"operationId":"azureListFilesWithAgent","tags":["LLM Proxy"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"api-version","required":false},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string","pattern":"^file-archestra-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"in":"query","name":"after","required":false},{"schema":{"default":"desc","type":"string","enum":["asc","desc"]},"in":"query","name":"order","required":false},{"schema":{"type":"string","enum":["user_data"]},"in":"query","name":"purpose","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["file"]},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"filename":{"type":"string"},"purpose":{"type":"string","enum":["user_data"]},"expires_at":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["uploaded","processed","error","pending","running","succeeded","failed","cancelled"]}},"required":["id","object","bytes","created_at","filename","purpose"],"additionalProperties":false}},"first_id":{"nullable":true,"type":"string"},"last_id":{"nullable":true,"type":"string"},"has_more":{"type":"boolean"}},"required":["object","data","first_id","last_id","has_more"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"description":"Authentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files)."}},"/v1/azure/{agentId}/files/{fileId}":{"get":{"operationId":"azureRetrieveFileWithAgent","tags":["LLM Proxy"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string","pattern":"^file-archestra-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"in":"path","name":"fileId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["file"]},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"filename":{"type":"string"},"purpose":{"type":"string","enum":["user_data"]},"expires_at":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"status":{"type":"string","enum":["uploaded","processed","error","pending","running","succeeded","failed","cancelled"]}},"required":["id","object","bytes","created_at","filename","purpose"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"description":"Authentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files)."},"delete":{"operationId":"azureDeleteFileWithAgent","tags":["LLM Proxy"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string","pattern":"^file-archestra-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"in":"path","name":"fileId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["file"]},"deleted":{"type":"boolean","enum":[true]}},"required":["id","object","deleted"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"description":"Authentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files)."}},"/v1/azure/{agentId}/files/{fileId}/content":{"get":{"operationId":"azureFileContentWithAgent","tags":["LLM Proxy"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string","pattern":"^file-archestra-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"in":"path","name":"fileId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}},"description":"Authentication:\n\nRequires an authenticated platform principal and one permitted configured Azure account. A provider key alone is insufficient. File handles are scoped to the principal, organization, and provider account. See [Azure Provider Files](/docs/llm-proxy/providers/azure#use-provider-files)."}},"/v1/azure/audio/speech":{"post":{"operationId":"azureAudioSpeechWithDefaultAgent","tags":["LLM Proxy"],"description":"Generate native audio bytes or audio SSE through the governed proxy. Usage and audio pricing may be unavailable.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"input":{"type":"string","minLength":1,"maxLength":4096},"voice":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":512}},"required":["id"]}]},"instructions":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["mp3","opus","aac","flac","wav","pcm"]},"speed":{"type":"number","minimum":0.25,"maximum":4},"stream_format":{"type":"string","enum":["audio","sse"]}},"required":["model","input","voice"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/azure/{agentId}/audio/speech":{"post":{"operationId":"azureAudioSpeechWithAgent","tags":["LLM Proxy"],"description":"Generate native audio bytes or audio SSE through the governed proxy. Usage and audio pricing may be unavailable.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"input":{"type":"string","minLength":1,"maxLength":4096},"voice":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":512}},"required":["id"]}]},"instructions":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["mp3","opus","aac","flac","wav","pcm"]},"speed":{"type":"number","minimum":0.25,"maximum":4},"stream_format":{"type":"string","enum":["audio","sse"]}},"required":["model","input","voice"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/azure/audio/transcriptions":{"post":{"operationId":"azureAudioTranscriptionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Upload multipart audio with file and model fields. Returns the provider's native transcript bytes or supported SSE. Raw audio is never retained in interaction logs.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/azure/{agentId}/audio/transcriptions":{"post":{"operationId":"azureAudioTranscriptionsWithAgent","tags":["LLM Proxy"],"description":"Upload multipart audio with file and model fields. Returns the provider's native transcript bytes or supported SSE. Raw audio is never retained in interaction logs.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/azure/audio/translations":{"post":{"operationId":"azureAudioTranslationsWithDefaultAgent","tags":["LLM Proxy"],"description":"Upload multipart audio with file and model fields. Returns the provider's native transcript bytes or supported SSE. Raw audio is never retained in interaction logs.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/azure/{agentId}/audio/translations":{"post":{"operationId":"azureAudioTranslationsWithAgent","tags":["LLM Proxy"],"description":"Upload multipart audio with file and model fields. Returns the provider's native transcript bytes or supported SSE. Raw audio is never retained in interaction logs.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/azure/images/edits":{"post":{"operationId":"azureImageEditsWithDefaultAgent","tags":["LLM Proxy"],"description":"Edit Azure images using bounded multipart image inputs and an optional PNG mask. Returns a complete image response; streaming is unsupported.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"anyOf":[{"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},{"type":"null"}]},"quality":{"anyOf":[{"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},{"type":"null"}]},"background":{"anyOf":[{"type":"string","enum":["auto","transparent","opaque"]},{"type":"null"}]},"output_format":{"anyOf":[{"type":"string","enum":["png","jpeg","webp"]},{"type":"null"}]},"response_format":{"anyOf":[{"type":"string","enum":["url","b64_json"]},{"type":"null"}]},"user":{"type":"string"},"safety_identifier":{"type":["string","null"]},"n":{"anyOf":[{"type":"integer","minimum":1,"maximum":10},{"type":"null"}]},"output_compression":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"input_fidelity":{"anyOf":[{"type":"string","enum":["high","low"]},{"type":"null"}]},"stream":{"anyOf":[{"type":"boolean","enum":[false]},{"type":"null"}]},"image":{"type":"array","items":{"type":"string","format":"binary"},"minItems":1,"maxItems":16,"description":"PNG/JPEG/WebP reference files, each smaller than 50 MiB."},"mask":{"type":"string","format":"binary","description":"Optional PNG alpha mask smaller than 4 MiB, matching the first image dimensions."}},"required":["model","prompt","image"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/{agentId}/images/edits":{"post":{"operationId":"azureImageEditsWithAgent","tags":["LLM Proxy"],"description":"Edit Azure images using bounded multipart image inputs and an optional PNG mask. Returns a complete image response; streaming is unsupported.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"anyOf":[{"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},{"type":"null"}]},"quality":{"anyOf":[{"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},{"type":"null"}]},"background":{"anyOf":[{"type":"string","enum":["auto","transparent","opaque"]},{"type":"null"}]},"output_format":{"anyOf":[{"type":"string","enum":["png","jpeg","webp"]},{"type":"null"}]},"response_format":{"anyOf":[{"type":"string","enum":["url","b64_json"]},{"type":"null"}]},"user":{"type":"string"},"safety_identifier":{"type":["string","null"]},"n":{"anyOf":[{"type":"integer","minimum":1,"maximum":10},{"type":"null"}]},"output_compression":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"input_fidelity":{"anyOf":[{"type":"string","enum":["high","low"]},{"type":"null"}]},"stream":{"anyOf":[{"type":"boolean","enum":[false]},{"type":"null"}]},"image":{"type":"array","items":{"type":"string","format":"binary"},"minItems":1,"maxItems":16,"description":"PNG/JPEG/WebP reference files, each smaller than 50 MiB."},"mask":{"type":"string","format":"binary","description":"Optional PNG alpha mask smaller than 4 MiB, matching the first image dimensions."}},"required":["model","prompt","image"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/realtime/turns":{"post":{"operationId":"azureRealtimeTurnWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a bounded realtime audio or translation turn through Azure native Realtime WebSockets. Returns Chat-format text and WAV audio; full-duplex sessions are not offered by this endpoint.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"},"target_language":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z]{2,8})?$"}},"required":["model","messages"],"description":"A bounded realtime audio turn. Translation requires WAV input and target_language; tools are not supported."}}},"description":"A bounded realtime audio turn. Translation requires WAV input and target_language; tools are not supported."},"parameters":[{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/{agentId}/realtime/turns":{"post":{"operationId":"azureRealtimeTurnWithAgent","tags":["LLM Proxy"],"description":"Create a bounded realtime audio or translation turn through Azure native Realtime WebSockets. Returns Chat-format text and WAV audio; full-duplex sessions are not offered by this endpoint.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"},"target_language":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z]{2,8})?$"}},"required":["model","messages"],"description":"A bounded realtime audio turn. Translation requires WAV input and target_language; tools are not supported."}}},"description":"A bounded realtime audio turn. Translation requires WAV input and target_language; tools are not supported."},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/images/generations":{"post":{"operationId":"azureImagesWithDefaultAgent","tags":["LLM Proxy"],"description":"Generate images with Azure AI Foundry\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"nullable":true,"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},"quality":{"nullable":true,"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},"background":{"nullable":true,"type":"string","enum":["auto","transparent","opaque"]},"output_format":{"nullable":true,"type":"string","enum":["png","jpeg","webp"]},"response_format":{"nullable":true,"type":"string","enum":["url","b64_json"]},"user":{"type":"string"},"safety_identifier":{"nullable":true,"type":"string"},"n":{"nullable":true,"type":"integer","minimum":1,"maximum":10},"output_compression":{"nullable":true,"type":"integer","minimum":0,"maximum":100},"moderation":{"nullable":true,"type":"string","enum":["auto","low"]},"style":{"nullable":true,"type":"string","enum":["vivid","natural"]},"stream":{"nullable":true,"type":"boolean","enum":[false]}},"required":["model","prompt"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/{agentId}/images/generations":{"post":{"operationId":"azureImagesWithAgent","tags":["LLM Proxy"],"description":"Generate images with Azure AI Foundry\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"nullable":true,"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},"quality":{"nullable":true,"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},"background":{"nullable":true,"type":"string","enum":["auto","transparent","opaque"]},"output_format":{"nullable":true,"type":"string","enum":["png","jpeg","webp"]},"response_format":{"nullable":true,"type":"string","enum":["url","b64_json"]},"user":{"type":"string"},"safety_identifier":{"nullable":true,"type":"string"},"n":{"nullable":true,"type":"integer","minimum":1,"maximum":10},"output_compression":{"nullable":true,"type":"integer","minimum":0,"maximum":100},"moderation":{"nullable":true,"type":"string","enum":["auto","low"]},"style":{"nullable":true,"type":"string","enum":["vivid","natural"]},"stream":{"nullable":true,"type":"boolean","enum":[false]}},"required":["model","prompt"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/embeddings":{"post":{"operationId":"azureEmbeddingsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create embeddings with Azure AI Foundry (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"string"}]},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/{agentId}/embeddings":{"post":{"operationId":"azureEmbeddingsWithAgent","tags":["LLM Proxy"],"description":"Create embeddings with Azure AI Foundry for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"string"}]},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/chat/completions":{"post":{"operationId":"azureChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Azure AI Foundry (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/responses":{"post":{"operationId":"azureResponsesWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a response with Azure AI Foundry (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/{agentId}/responses":{"post":{"operationId":"azureResponsesWithAgent","tags":["LLM Proxy"],"description":"Create a response with Azure AI Foundry for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/azure/{agentId}/chat/completions":{"post":{"operationId":"azureChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Azure AI Foundry for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"api-key","required":false,"description":"Virtual API key for native Azure SDK clients"},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Azure AI Foundry"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/bedrock/openai/chat/completions":{"post":{"operationId":"bedrockOpenaiChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Call Amazon Bedrock models using the OpenAI ChatCompletions wire format (default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/bedrock/openai/{agentId}/chat/completions":{"post":{"operationId":"bedrockOpenaiChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Call Amazon Bedrock models using the OpenAI ChatCompletions wire format (specific agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/bedrock/openai/models":{"get":{"operationId":"bedrockOpenaiListModelsWithDefaultAgent","tags":["LLM Proxy"],"description":"List Amazon Bedrock models (via ListInferenceProfiles) in OpenAI models-list format\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token: Archestra virtual API key for Bedrock"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/bedrock/openai/{agentId}/models":{"get":{"operationId":"bedrockOpenaiListModelsWithAgent","tags":["LLM Proxy"],"description":"List Amazon Bedrock models (via ListInferenceProfiles) in OpenAI models-list format (specific agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token: Archestra virtual API key for Bedrock"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/bedrock/converse":{"post":{"operationId":"bedrockConverseWithDefaultAgent","tags":["LLM Proxy"],"description":"Send a message to Amazon Bedrock using the default agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"modelId":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"]}},"required":["toolUse"]},{"type":"object","properties":{"toolResult":{"type":"object","properties":{"toolUseId":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]}]}},"status":{"type":"string","enum":["success","error"]}},"required":["toolUseId","content"]}},"required":["toolResult"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"]}},"required":["reasoningText"]},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"]},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"]}},"required":["redactedReasoning"]}]}},"required":["reasoningContent"]}]}}},"required":["role","content"]}},"system":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","additionalProperties":{}}]}},"inferenceConfig":{"type":"object","properties":{"maxTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"stopSequences":{"type":"array","items":{"type":"string"}}}},"toolConfig":{"type":"object","properties":{"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"toolSpec":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}},"required":["name","inputSchema"]},"cachePoint":{"not":{}}},"required":["toolSpec"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string","enum":["default"]},"ttl":{"type":"string"}},"required":["type"]},"toolSpec":{"not":{}}},"required":["cachePoint"]}]}},"toolChoice":{"anyOf":[{"type":"object","properties":{"tool":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["tool"],"additionalProperties":{}},{"type":"object","properties":{"any":{"type":"object","properties":{},"additionalProperties":{}}},"required":["any"],"additionalProperties":{}},{"type":"object","properties":{"auto":{"type":"object","properties":{},"additionalProperties":{}}},"required":["auto"],"additionalProperties":{}}]}},"required":["tools"]},"guardrailConfig":{"type":"object","properties":{"guardrailIdentifier":{"type":"string"},"guardrailVersion":{"type":"string"},"trace":{"type":"string","enum":["enabled","disabled"]}},"required":["guardrailIdentifier","guardrailVersion"]},"additionalModelRequestFields":{"type":"object","additionalProperties":{}},"additionalModelResponseFieldPaths":{"type":"array","items":{"type":"string"}},"promptVariables":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}]}},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}}},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}}},"requestMetadata":{"type":"object","additionalProperties":{"type":"string"}},"_isStreaming":{"type":"boolean"}},"required":["modelId"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"$metadata":{"type":"object","properties":{"httpStatusCode":{"type":"number"},"requestId":{"type":"string"},"attempts":{"type":"number"},"totalRetryDelay":{"type":"number"}},"additionalProperties":false},"output":{"type":"object","properties":{"message":{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"],"additionalProperties":false}},"required":["toolUse"],"additionalProperties":false},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"],"additionalProperties":false}},"required":["reasoningText"],"additionalProperties":false},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"],"additionalProperties":false},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"],"additionalProperties":false}},"required":["redactedReasoning"],"additionalProperties":false}]}},"required":["reasoningContent"],"additionalProperties":false}]}}},"required":["role","content"],"additionalProperties":false}},"additionalProperties":false},"stopReason":{"anyOf":[{"type":"string","enum":["end_turn","tool_use","max_tokens","stop_sequence","guardrail_intervened","content_filtered","malformed_model_output","malformed_tool_use","model_context_window_exceeded"]},{"type":"string"}]},"usage":{"type":"object","properties":{"inputTokens":{"type":"number"},"outputTokens":{"type":"number"},"totalTokens":{"type":"number"},"cacheReadInputTokens":{"type":"number"},"cacheWriteInputTokens":{"type":"number"},"cacheDetails":{"type":"array","items":{"type":"object","properties":{"ttl":{"type":"string"},"inputTokens":{"type":"number"}},"additionalProperties":false}}},"required":["inputTokens","outputTokens"],"additionalProperties":false},"metrics":{"type":"object","properties":{"latencyMs":{"type":"number"}},"additionalProperties":false},"additionalModelResponseFields":{"type":"object","additionalProperties":{}},"trace":{"type":"object","properties":{"guardrail":{"type":"object","properties":{"inputAssessment":{"type":"object","additionalProperties":{}},"outputAssessments":{"type":"object","additionalProperties":{}},"modelOutput":{"type":"array","items":{"type":"string"}},"actionReason":{"type":"string"}},"additionalProperties":false},"promptRouter":{"type":"object","properties":{"invokedModelId":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}},"additionalProperties":false},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}},"additionalProperties":false}},"required":["output","stopReason","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/bedrock/{agentId}/converse":{"post":{"operationId":"bedrockConverseWithAgent","tags":["LLM Proxy"],"description":"Send a message to Amazon Bedrock for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"modelId":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"]}},"required":["toolUse"]},{"type":"object","properties":{"toolResult":{"type":"object","properties":{"toolUseId":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]}]}},"status":{"type":"string","enum":["success","error"]}},"required":["toolUseId","content"]}},"required":["toolResult"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"]}},"required":["reasoningText"]},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"]},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"]}},"required":["redactedReasoning"]}]}},"required":["reasoningContent"]}]}}},"required":["role","content"]}},"system":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","additionalProperties":{}}]}},"inferenceConfig":{"type":"object","properties":{"maxTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"stopSequences":{"type":"array","items":{"type":"string"}}}},"toolConfig":{"type":"object","properties":{"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"toolSpec":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}},"required":["name","inputSchema"]},"cachePoint":{"not":{}}},"required":["toolSpec"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string","enum":["default"]},"ttl":{"type":"string"}},"required":["type"]},"toolSpec":{"not":{}}},"required":["cachePoint"]}]}},"toolChoice":{"anyOf":[{"type":"object","properties":{"tool":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["tool"],"additionalProperties":{}},{"type":"object","properties":{"any":{"type":"object","properties":{},"additionalProperties":{}}},"required":["any"],"additionalProperties":{}},{"type":"object","properties":{"auto":{"type":"object","properties":{},"additionalProperties":{}}},"required":["auto"],"additionalProperties":{}}]}},"required":["tools"]},"guardrailConfig":{"type":"object","properties":{"guardrailIdentifier":{"type":"string"},"guardrailVersion":{"type":"string"},"trace":{"type":"string","enum":["enabled","disabled"]}},"required":["guardrailIdentifier","guardrailVersion"]},"additionalModelRequestFields":{"type":"object","additionalProperties":{}},"additionalModelResponseFieldPaths":{"type":"array","items":{"type":"string"}},"promptVariables":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}]}},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}}},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}}},"requestMetadata":{"type":"object","additionalProperties":{"type":"string"}},"_isStreaming":{"type":"boolean"}},"required":["modelId"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"$metadata":{"type":"object","properties":{"httpStatusCode":{"type":"number"},"requestId":{"type":"string"},"attempts":{"type":"number"},"totalRetryDelay":{"type":"number"}},"additionalProperties":false},"output":{"type":"object","properties":{"message":{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"],"additionalProperties":false}},"required":["toolUse"],"additionalProperties":false},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"],"additionalProperties":false}},"required":["reasoningText"],"additionalProperties":false},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"],"additionalProperties":false},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"],"additionalProperties":false}},"required":["redactedReasoning"],"additionalProperties":false}]}},"required":["reasoningContent"],"additionalProperties":false}]}}},"required":["role","content"],"additionalProperties":false}},"additionalProperties":false},"stopReason":{"anyOf":[{"type":"string","enum":["end_turn","tool_use","max_tokens","stop_sequence","guardrail_intervened","content_filtered","malformed_model_output","malformed_tool_use","model_context_window_exceeded"]},{"type":"string"}]},"usage":{"type":"object","properties":{"inputTokens":{"type":"number"},"outputTokens":{"type":"number"},"totalTokens":{"type":"number"},"cacheReadInputTokens":{"type":"number"},"cacheWriteInputTokens":{"type":"number"},"cacheDetails":{"type":"array","items":{"type":"object","properties":{"ttl":{"type":"string"},"inputTokens":{"type":"number"}},"additionalProperties":false}}},"required":["inputTokens","outputTokens"],"additionalProperties":false},"metrics":{"type":"object","properties":{"latencyMs":{"type":"number"}},"additionalProperties":false},"additionalModelResponseFields":{"type":"object","additionalProperties":{}},"trace":{"type":"object","properties":{"guardrail":{"type":"object","properties":{"inputAssessment":{"type":"object","additionalProperties":{}},"outputAssessments":{"type":"object","additionalProperties":{}},"modelOutput":{"type":"array","items":{"type":"string"}},"actionReason":{"type":"string"}},"additionalProperties":false},"promptRouter":{"type":"object","properties":{"invokedModelId":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}},"additionalProperties":false},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}},"additionalProperties":false}},"required":["output","stopReason","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/bedrock/converse-stream":{"post":{"operationId":"bedrockConverseStreamWithDefaultAgent","tags":["LLM Proxy"],"description":"Stream a message response from Amazon Bedrock using the default agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"modelId":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"]}},"required":["toolUse"]},{"type":"object","properties":{"toolResult":{"type":"object","properties":{"toolUseId":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]}]}},"status":{"type":"string","enum":["success","error"]}},"required":["toolUseId","content"]}},"required":["toolResult"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"]}},"required":["reasoningText"]},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"]},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"]}},"required":["redactedReasoning"]}]}},"required":["reasoningContent"]}]}}},"required":["role","content"]}},"system":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","additionalProperties":{}}]}},"inferenceConfig":{"type":"object","properties":{"maxTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"stopSequences":{"type":"array","items":{"type":"string"}}}},"toolConfig":{"type":"object","properties":{"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"toolSpec":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}},"required":["name","inputSchema"]},"cachePoint":{"not":{}}},"required":["toolSpec"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string","enum":["default"]},"ttl":{"type":"string"}},"required":["type"]},"toolSpec":{"not":{}}},"required":["cachePoint"]}]}},"toolChoice":{"anyOf":[{"type":"object","properties":{"tool":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["tool"],"additionalProperties":{}},{"type":"object","properties":{"any":{"type":"object","properties":{},"additionalProperties":{}}},"required":["any"],"additionalProperties":{}},{"type":"object","properties":{"auto":{"type":"object","properties":{},"additionalProperties":{}}},"required":["auto"],"additionalProperties":{}}]}},"required":["tools"]},"guardrailConfig":{"type":"object","properties":{"guardrailIdentifier":{"type":"string"},"guardrailVersion":{"type":"string"},"trace":{"type":"string","enum":["enabled","disabled"]}},"required":["guardrailIdentifier","guardrailVersion"]},"additionalModelRequestFields":{"type":"object","additionalProperties":{}},"additionalModelResponseFieldPaths":{"type":"array","items":{"type":"string"}},"promptVariables":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}]}},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}}},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}}},"requestMetadata":{"type":"object","additionalProperties":{"type":"string"}},"_isStreaming":{"type":"boolean"}},"required":["modelId"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/bedrock/{agentId}/converse-stream":{"post":{"operationId":"bedrockConverseStreamWithAgent","tags":["LLM Proxy"],"description":"Stream a message response from Amazon Bedrock for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"modelId":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"]}},"required":["toolUse"]},{"type":"object","properties":{"toolResult":{"type":"object","properties":{"toolUseId":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]}]}},"status":{"type":"string","enum":["success","error"]}},"required":["toolUseId","content"]}},"required":["toolResult"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"]}},"required":["reasoningText"]},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"]},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"]}},"required":["redactedReasoning"]}]}},"required":["reasoningContent"]}]}}},"required":["role","content"]}},"system":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","additionalProperties":{}}]}},"inferenceConfig":{"type":"object","properties":{"maxTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"stopSequences":{"type":"array","items":{"type":"string"}}}},"toolConfig":{"type":"object","properties":{"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"toolSpec":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}},"required":["name","inputSchema"]},"cachePoint":{"not":{}}},"required":["toolSpec"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string","enum":["default"]},"ttl":{"type":"string"}},"required":["type"]},"toolSpec":{"not":{}}},"required":["cachePoint"]}]}},"toolChoice":{"anyOf":[{"type":"object","properties":{"tool":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["tool"],"additionalProperties":{}},{"type":"object","properties":{"any":{"type":"object","properties":{},"additionalProperties":{}}},"required":["any"],"additionalProperties":{}},{"type":"object","properties":{"auto":{"type":"object","properties":{},"additionalProperties":{}}},"required":["auto"],"additionalProperties":{}}]}},"required":["tools"]},"guardrailConfig":{"type":"object","properties":{"guardrailIdentifier":{"type":"string"},"guardrailVersion":{"type":"string"},"trace":{"type":"string","enum":["enabled","disabled"]}},"required":["guardrailIdentifier","guardrailVersion"]},"additionalModelRequestFields":{"type":"object","additionalProperties":{}},"additionalModelResponseFieldPaths":{"type":"array","items":{"type":"string"}},"promptVariables":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}]}},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}}},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}}},"requestMetadata":{"type":"object","additionalProperties":{"type":"string"}},"_isStreaming":{"type":"boolean"}},"required":["modelId"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/bedrock/{agentId}/model/{modelId}/converse":{"post":{"operationId":"bedrockConverseWithAgentAndModel","tags":["LLM Proxy"],"description":"Send a message to Amazon Bedrock for a specific agent (AI SDK format)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"modelId":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"]}},"required":["toolUse"]},{"type":"object","properties":{"toolResult":{"type":"object","properties":{"toolUseId":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]}]}},"status":{"type":"string","enum":["success","error"]}},"required":["toolUseId","content"]}},"required":["toolResult"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"]}},"required":["reasoningText"]},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"]},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"]}},"required":["redactedReasoning"]}]}},"required":["reasoningContent"]}]}}},"required":["role","content"]}},"system":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","additionalProperties":{}}]}},"inferenceConfig":{"type":"object","properties":{"maxTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"stopSequences":{"type":"array","items":{"type":"string"}}}},"toolConfig":{"type":"object","properties":{"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"toolSpec":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}},"required":["name","inputSchema"]},"cachePoint":{"not":{}}},"required":["toolSpec"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string","enum":["default"]},"ttl":{"type":"string"}},"required":["type"]},"toolSpec":{"not":{}}},"required":["cachePoint"]}]}},"toolChoice":{"anyOf":[{"type":"object","properties":{"tool":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["tool"],"additionalProperties":{}},{"type":"object","properties":{"any":{"type":"object","properties":{},"additionalProperties":{}}},"required":["any"],"additionalProperties":{}},{"type":"object","properties":{"auto":{"type":"object","properties":{},"additionalProperties":{}}},"required":["auto"],"additionalProperties":{}}]}},"required":["tools"]},"guardrailConfig":{"type":"object","properties":{"guardrailIdentifier":{"type":"string"},"guardrailVersion":{"type":"string"},"trace":{"type":"string","enum":["enabled","disabled"]}},"required":["guardrailIdentifier","guardrailVersion"]},"additionalModelRequestFields":{"type":"object","additionalProperties":{}},"additionalModelResponseFieldPaths":{"type":"array","items":{"type":"string"}},"promptVariables":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}]}},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}}},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}}},"requestMetadata":{"type":"object","additionalProperties":{"type":"string"}},"_isStreaming":{"type":"boolean"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"path","name":"modelId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"$metadata":{"type":"object","properties":{"httpStatusCode":{"type":"number"},"requestId":{"type":"string"},"attempts":{"type":"number"},"totalRetryDelay":{"type":"number"}},"additionalProperties":false},"output":{"type":"object","properties":{"message":{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"],"additionalProperties":false}},"required":["toolUse"],"additionalProperties":false},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"],"additionalProperties":false}},"required":["reasoningText"],"additionalProperties":false},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"],"additionalProperties":false},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"],"additionalProperties":false}},"required":["redactedReasoning"],"additionalProperties":false}]}},"required":["reasoningContent"],"additionalProperties":false}]}}},"required":["role","content"],"additionalProperties":false}},"additionalProperties":false},"stopReason":{"anyOf":[{"type":"string","enum":["end_turn","tool_use","max_tokens","stop_sequence","guardrail_intervened","content_filtered","malformed_model_output","malformed_tool_use","model_context_window_exceeded"]},{"type":"string"}]},"usage":{"type":"object","properties":{"inputTokens":{"type":"number"},"outputTokens":{"type":"number"},"totalTokens":{"type":"number"},"cacheReadInputTokens":{"type":"number"},"cacheWriteInputTokens":{"type":"number"},"cacheDetails":{"type":"array","items":{"type":"object","properties":{"ttl":{"type":"string"},"inputTokens":{"type":"number"}},"additionalProperties":false}}},"required":["inputTokens","outputTokens"],"additionalProperties":false},"metrics":{"type":"object","properties":{"latencyMs":{"type":"number"}},"additionalProperties":false},"additionalModelResponseFields":{"type":"object","additionalProperties":{}},"trace":{"type":"object","properties":{"guardrail":{"type":"object","properties":{"inputAssessment":{"type":"object","additionalProperties":{}},"outputAssessments":{"type":"object","additionalProperties":{}},"modelOutput":{"type":"array","items":{"type":"string"}},"actionReason":{"type":"string"}},"additionalProperties":false},"promptRouter":{"type":"object","properties":{"invokedModelId":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}},"additionalProperties":false},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}},"additionalProperties":false}},"required":["output","stopReason","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/bedrock/{agentId}/model/{modelId}/converse-stream":{"post":{"operationId":"bedrockConverseStreamWithAgentAndModel","tags":["LLM Proxy"],"description":"Stream a message response from Amazon Bedrock for a specific agent (AI SDK format)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"modelId":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"toolUse":{"type":"object","properties":{"toolUseId":{"type":"string"},"name":{"type":"string"},"input":{"type":"object","additionalProperties":{}}},"required":["toolUseId","name","input"]}},"required":["toolUse"]},{"type":"object","properties":{"toolResult":{"type":"object","properties":{"toolUseId":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"image":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpeg","gif","webp"]},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","source"]}},"required":["image"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]},{"type":"object","properties":{"document":{"type":"object","properties":{"format":{"type":"string","enum":["pdf","csv","doc","docx","xls","xlsx","html","txt","md"]},"name":{"type":"string"},"source":{"anyOf":[{"type":"object","properties":{"bytes":{"type":"string"}},"required":["bytes"]},{"type":"object","properties":{"s3Location":{"type":"object","properties":{"uri":{"type":"string"},"bucketOwner":{"type":"string"}},"required":["uri"]}},"required":["s3Location"]}]}},"required":["format","name","source"]}},"required":["document"]}]}},"status":{"type":"string","enum":["success","error"]}},"required":["toolUseId","content"]}},"required":["toolResult"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","properties":{"reasoningContent":{"anyOf":[{"type":"object","properties":{"reasoningText":{"type":"object","properties":{"text":{"type":"string"},"signature":{"type":"string"}},"required":["text"]}},"required":["reasoningText"]},{"type":"object","properties":{"redactedContent":{"type":"string"}},"required":["redactedContent"]},{"type":"object","properties":{"redactedReasoning":{"type":"object","properties":{"data":{"type":"string"}},"required":["data"]}},"required":["redactedReasoning"]}]}},"required":["reasoningContent"]}]}}},"required":["role","content"]}},"system":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"guardContent":{"type":"object","properties":{"text":{"type":"object","properties":{"text":{"type":"string"},"qualifiers":{"type":"array","items":{"type":"string","enum":["grounding_source","query","guard_content"]}}},"required":["text"]}},"required":["text"]}},"required":["guardContent"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string"},"ttl":{"type":"string"}},"required":["type"]}},"required":["cachePoint"]},{"type":"object","additionalProperties":{}}]}},"inferenceConfig":{"type":"object","properties":{"maxTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"stopSequences":{"type":"array","items":{"type":"string"}}}},"toolConfig":{"type":"object","properties":{"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"toolSpec":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}},"required":["name","inputSchema"]},"cachePoint":{"not":{}}},"required":["toolSpec"]},{"type":"object","properties":{"cachePoint":{"type":"object","properties":{"type":{"type":"string","enum":["default"]},"ttl":{"type":"string"}},"required":["type"]},"toolSpec":{"not":{}}},"required":["cachePoint"]}]}},"toolChoice":{"anyOf":[{"type":"object","properties":{"tool":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["tool"],"additionalProperties":{}},{"type":"object","properties":{"any":{"type":"object","properties":{},"additionalProperties":{}}},"required":["any"],"additionalProperties":{}},{"type":"object","properties":{"auto":{"type":"object","properties":{},"additionalProperties":{}}},"required":["auto"],"additionalProperties":{}}]}},"required":["tools"]},"guardrailConfig":{"type":"object","properties":{"guardrailIdentifier":{"type":"string"},"guardrailVersion":{"type":"string"},"trace":{"type":"string","enum":["enabled","disabled"]}},"required":["guardrailIdentifier","guardrailVersion"]},"additionalModelRequestFields":{"type":"object","additionalProperties":{}},"additionalModelResponseFieldPaths":{"type":"array","items":{"type":"string"}},"promptVariables":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},{"type":"object","properties":{"json":{"type":"object","additionalProperties":{}}},"required":["json"]}]}},"performanceConfig":{"type":"object","properties":{"latency":{"type":"string","enum":["optimized"]}}},"serviceTier":{"type":"object","properties":{"type":{"type":"string","enum":["default","throughput"]}}},"requestMetadata":{"type":"object","additionalProperties":{"type":"string"}},"_isStreaming":{"type":"boolean"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"path","name":"modelId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/bedrock/model/{modelId}/invoke":{"post":{"operationId":"bedrockInvokeWithDefaultAgentAndModel","tags":["LLM Proxy"],"description":"Invoke an Anthropic model on Amazon Bedrock (Anthropic Messages format, default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"},"signature":{"type":"string"}},"required":["type","thinking","signature"]},{"type":"object","properties":{"type":{"type":"string","enum":["redacted_thinking"]},"data":{"type":"string"}},"required":["type","data"]},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]},"cache_control":{"nullable":true}},"required":["id","input","name","type"]},{"type":"object","properties":{"tool_use_id":{"type":"string"},"type":{"type":"string","enum":["tool_result"]},"cache_control":{"nullable":true},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"}]}}]},"is_error":{"type":"boolean"}},"required":["tool_use_id","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["search_result","server_tool_use","web_search_tool_result","web_fetch_tool_result","code_execution_tool_result","bash_code_execution_tool_result","text_editor_code_execution_tool_result","tool_search_tool_result","container_upload"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"role":{"type":"string","enum":["user","assistant","system"]}},"required":["content","role"]}},"max_tokens":{"type":"number"},"container":{"nullable":true,"type":"string"},"context_management":{"nullable":true,"type":"object","properties":{},"additionalProperties":{}},"mcp_servers":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"user_id":{"nullable":true,"type":"string"}},"additionalProperties":{}},"output_config":{"type":"object","properties":{"effort":{"nullable":true,"type":"string"},"format":{"nullable":true,"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"schema":{"type":"object","additionalProperties":{}}},"required":["type","schema"]}},"additionalProperties":{}},"service_tier":{},"speed":{"type":"string","enum":["fast","standard"]},"stop_sequences":{"type":"array","items":{"type":"string"}},"stream":{"type":"boolean"},"system":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}}}]},"temperature":{"type":"number"},"thinking":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["enabled"]},"budget_tokens":{"type":"number"},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type","budget_tokens"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["disabled"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["between_tools"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["adaptive"]},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]},"tool_choice":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["auto"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["any"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"name":{"type":"string"},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["none"]}},"required":["type"]}]},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["custom"]},"cache_control":{"nullable":true},"input_schema":{"type":"object","additionalProperties":{}},"description":{"type":"string"}},"required":["name","input_schema"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["bash"]},"type":{"type":"string","enum":["bash_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_editor"]},"type":{"type":"string","enum":["text_editor_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250429"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250728"]},"cache_control":{"nullable":true},"max_characters":{"nullable":true,"type":"number"}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["web_search"]},"type":{"type":"string","enum":["web_search_20250305"]},"allowed_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"blocked_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"cache_control":{"nullable":true},"max_uses":{"nullable":true,"type":"number"},"user_location":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"top_k":{"type":"number"},"top_p":{"type":"number"},"anthropic_version":{"type":"string"},"anthropic_beta":{"type":"array","items":{"type":"string"}},"_isStreaming":{"type":"boolean"}},"required":["messages","max_tokens"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"modelId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnthropicMessagesResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/bedrock/{agentId}/model/{modelId}/invoke":{"post":{"operationId":"bedrockInvokeWithAgentAndModel","tags":["LLM Proxy"],"description":"Invoke an Anthropic model on Amazon Bedrock (Anthropic Messages format) for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"},"signature":{"type":"string"}},"required":["type","thinking","signature"]},{"type":"object","properties":{"type":{"type":"string","enum":["redacted_thinking"]},"data":{"type":"string"}},"required":["type","data"]},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]},"cache_control":{"nullable":true}},"required":["id","input","name","type"]},{"type":"object","properties":{"tool_use_id":{"type":"string"},"type":{"type":"string","enum":["tool_result"]},"cache_control":{"nullable":true},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"}]}}]},"is_error":{"type":"boolean"}},"required":["tool_use_id","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["search_result","server_tool_use","web_search_tool_result","web_fetch_tool_result","code_execution_tool_result","bash_code_execution_tool_result","text_editor_code_execution_tool_result","tool_search_tool_result","container_upload"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"role":{"type":"string","enum":["user","assistant","system"]}},"required":["content","role"]}},"max_tokens":{"type":"number"},"container":{"nullable":true,"type":"string"},"context_management":{"nullable":true,"type":"object","properties":{},"additionalProperties":{}},"mcp_servers":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"user_id":{"nullable":true,"type":"string"}},"additionalProperties":{}},"output_config":{"type":"object","properties":{"effort":{"nullable":true,"type":"string"},"format":{"nullable":true,"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"schema":{"type":"object","additionalProperties":{}}},"required":["type","schema"]}},"additionalProperties":{}},"service_tier":{},"speed":{"type":"string","enum":["fast","standard"]},"stop_sequences":{"type":"array","items":{"type":"string"}},"stream":{"type":"boolean"},"system":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}}}]},"temperature":{"type":"number"},"thinking":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["enabled"]},"budget_tokens":{"type":"number"},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type","budget_tokens"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["disabled"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["between_tools"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["adaptive"]},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]},"tool_choice":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["auto"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["any"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"name":{"type":"string"},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["none"]}},"required":["type"]}]},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["custom"]},"cache_control":{"nullable":true},"input_schema":{"type":"object","additionalProperties":{}},"description":{"type":"string"}},"required":["name","input_schema"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["bash"]},"type":{"type":"string","enum":["bash_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_editor"]},"type":{"type":"string","enum":["text_editor_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250429"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250728"]},"cache_control":{"nullable":true},"max_characters":{"nullable":true,"type":"number"}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["web_search"]},"type":{"type":"string","enum":["web_search_20250305"]},"allowed_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"blocked_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"cache_control":{"nullable":true},"max_uses":{"nullable":true,"type":"number"},"user_location":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"top_k":{"type":"number"},"top_p":{"type":"number"},"anthropic_version":{"type":"string"},"anthropic_beta":{"type":"array","items":{"type":"string"}},"_isStreaming":{"type":"boolean"}},"required":["messages","max_tokens"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"path","name":"modelId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnthropicMessagesResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/bedrock/model/{modelId}/invoke-with-response-stream":{"post":{"operationId":"bedrockInvokeStreamWithDefaultAgentAndModel","tags":["LLM Proxy"],"description":"Stream an Anthropic model response from Amazon Bedrock (Anthropic Messages format, default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"},"signature":{"type":"string"}},"required":["type","thinking","signature"]},{"type":"object","properties":{"type":{"type":"string","enum":["redacted_thinking"]},"data":{"type":"string"}},"required":["type","data"]},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]},"cache_control":{"nullable":true}},"required":["id","input","name","type"]},{"type":"object","properties":{"tool_use_id":{"type":"string"},"type":{"type":"string","enum":["tool_result"]},"cache_control":{"nullable":true},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"}]}}]},"is_error":{"type":"boolean"}},"required":["tool_use_id","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["search_result","server_tool_use","web_search_tool_result","web_fetch_tool_result","code_execution_tool_result","bash_code_execution_tool_result","text_editor_code_execution_tool_result","tool_search_tool_result","container_upload"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"role":{"type":"string","enum":["user","assistant","system"]}},"required":["content","role"]}},"max_tokens":{"type":"number"},"container":{"nullable":true,"type":"string"},"context_management":{"nullable":true,"type":"object","properties":{},"additionalProperties":{}},"mcp_servers":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"user_id":{"nullable":true,"type":"string"}},"additionalProperties":{}},"output_config":{"type":"object","properties":{"effort":{"nullable":true,"type":"string"},"format":{"nullable":true,"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"schema":{"type":"object","additionalProperties":{}}},"required":["type","schema"]}},"additionalProperties":{}},"service_tier":{},"speed":{"type":"string","enum":["fast","standard"]},"stop_sequences":{"type":"array","items":{"type":"string"}},"stream":{"type":"boolean"},"system":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}}}]},"temperature":{"type":"number"},"thinking":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["enabled"]},"budget_tokens":{"type":"number"},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type","budget_tokens"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["disabled"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["between_tools"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["adaptive"]},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]},"tool_choice":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["auto"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["any"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"name":{"type":"string"},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["none"]}},"required":["type"]}]},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["custom"]},"cache_control":{"nullable":true},"input_schema":{"type":"object","additionalProperties":{}},"description":{"type":"string"}},"required":["name","input_schema"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["bash"]},"type":{"type":"string","enum":["bash_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_editor"]},"type":{"type":"string","enum":["text_editor_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250429"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250728"]},"cache_control":{"nullable":true},"max_characters":{"nullable":true,"type":"number"}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["web_search"]},"type":{"type":"string","enum":["web_search_20250305"]},"allowed_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"blocked_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"cache_control":{"nullable":true},"max_uses":{"nullable":true,"type":"number"},"user_location":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"top_k":{"type":"number"},"top_p":{"type":"number"},"anthropic_version":{"type":"string"},"anthropic_beta":{"type":"array","items":{"type":"string"}},"_isStreaming":{"type":"boolean"}},"required":["messages","max_tokens"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"modelId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/bedrock/{agentId}/model/{modelId}/invoke-with-response-stream":{"post":{"operationId":"bedrockInvokeStreamWithAgentAndModel","tags":["LLM Proxy"],"description":"Stream an Anthropic model response from Amazon Bedrock (Anthropic Messages format) for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"},"signature":{"type":"string"}},"required":["type","thinking","signature"]},{"type":"object","properties":{"type":{"type":"string","enum":["redacted_thinking"]},"data":{"type":"string"}},"required":["type","data"]},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]},"cache_control":{"nullable":true}},"required":["id","input","name","type"]},{"type":"object","properties":{"tool_use_id":{"type":"string"},"type":{"type":"string","enum":["tool_result"]},"cache_control":{"nullable":true},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"}]}}]},"is_error":{"type":"boolean"}},"required":["tool_use_id","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["search_result","server_tool_use","web_search_tool_result","web_fetch_tool_result","code_execution_tool_result","bash_code_execution_tool_result","text_editor_code_execution_tool_result","tool_search_tool_result","container_upload"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"role":{"type":"string","enum":["user","assistant","system"]}},"required":["content","role"]}},"max_tokens":{"type":"number"},"container":{"nullable":true,"type":"string"},"context_management":{"nullable":true,"type":"object","properties":{},"additionalProperties":{}},"mcp_servers":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"user_id":{"nullable":true,"type":"string"}},"additionalProperties":{}},"output_config":{"type":"object","properties":{"effort":{"nullable":true,"type":"string"},"format":{"nullable":true,"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"schema":{"type":"object","additionalProperties":{}}},"required":["type","schema"]}},"additionalProperties":{}},"service_tier":{},"speed":{"type":"string","enum":["fast","standard"]},"stop_sequences":{"type":"array","items":{"type":"string"}},"stream":{"type":"boolean"},"system":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}}}]},"temperature":{"type":"number"},"thinking":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["enabled"]},"budget_tokens":{"type":"number"},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type","budget_tokens"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["disabled"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["between_tools"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["adaptive"]},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]},"tool_choice":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["auto"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["any"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"name":{"type":"string"},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["none"]}},"required":["type"]}]},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["custom"]},"cache_control":{"nullable":true},"input_schema":{"type":"object","additionalProperties":{}},"description":{"type":"string"}},"required":["name","input_schema"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["bash"]},"type":{"type":"string","enum":["bash_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_editor"]},"type":{"type":"string","enum":["text_editor_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250429"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250728"]},"cache_control":{"nullable":true},"max_characters":{"nullable":true,"type":"number"}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["web_search"]},"type":{"type":"string","enum":["web_search_20250305"]},"allowed_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"blocked_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"cache_control":{"nullable":true},"max_uses":{"nullable":true,"type":"number"},"user_location":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"top_k":{"type":"number"},"top_p":{"type":"number"},"anthropic_version":{"type":"string"},"anthropic_beta":{"type":"array","items":{"type":"string"}},"_isStreaming":{"type":"boolean"}},"required":["messages","max_tokens"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"path","name":"modelId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Authorization header with Bearer token"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/cerebras/chat/completions":{"post":{"operationId":"cerebrasChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Cerebras (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerebrasChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/cerebras/{agentId}/chat/completions":{"post":{"operationId":"cerebrasChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Cerebras for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerebrasChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/cohere/chat":{"post":{"operationId":"cohereChatWithDefaultAgent","tags":["LLM Proxy"],"description":"Send a chat request to Cohere using the default agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CohereChatRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for API auth"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CohereChatResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/cohere/{agentId}/chat":{"post":{"operationId":"cohereChatWithAgent","tags":["LLM Proxy"],"description":"Send a chat request to Cohere using a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CohereChatRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for API auth"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CohereChatResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/deepseek/chat/completions":{"post":{"operationId":"deepseekChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with DeepSeek (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeepSeekChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeepSeekChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/deepseek/{agentId}/chat/completions":{"post":{"operationId":"deepseekChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with DeepSeek for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeepSeekChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeepSeekChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/default-user-limits":{"get":{"operationId":"listDefaultUserLimits","tags":["Limits"],"description":"List the organization's default user limits: the organization-wide default and per-environment overrides.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmLimit:read`](/docs/reference/permissions#llmLimit:read): View token usage limits","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","environmentId","limitValue","cleanupInterval","createdAt","updatedAt"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmLimit:read"]}},"post":{"operationId":"createDefaultUserLimit","tags":["Limits"],"description":"Create a default user limit. Omit environmentId for the org-wide default, or set it for a per-environment override.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmLimit:create`](/docs/reference/permissions#llmLimit:create): Create new usage limits","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]}},"required":["limitValue"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","environmentId","limitValue","cleanupInterval","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmLimit:create"]}}},"/api/default-user-limits/users":{"get":{"operationId":"listUserLimitUsage","tags":["Limits"],"description":"List organization members with their spend this window against the limit that applies to them (custom, environment override, or organization default), closest to their limit first.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmLimit:read`](/docs/reference/permissions#llmLimit:read): View token usage limits","parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"string","maxLength":200},"in":"query","name":"search","required":false,"description":"Match users by name or email."},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"environmentId","required":false,"description":"Only users who spent in this environment, with the limit that applies to their requests there."},{"schema":{"type":"string","enum":["at","near","custom","none"]},"in":"query","name":"status","required":false,"description":"Only users at or near their limit, on a custom limit, or with no limit."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"image":{"nullable":true,"type":"string"},"source":{"type":"string","enum":["custom","environment_default","organization_default","none"]},"environmentId":{"nullable":true,"type":"string"},"environmentName":{"nullable":true,"type":"string"},"limitValue":{"nullable":true,"type":"number"},"cleanupInterval":{"nullable":true,"type":"string","enum":["minute","1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"models":{"nullable":true,"type":"array","items":{"type":"string"}},"spent":{"type":"number"},"estimatedUsage":{"type":"boolean"},"percent":{"nullable":true,"type":"number"},"status":{"type":"string","enum":["ok","near","at"]},"customLimitId":{"nullable":true,"type":"string"},"customReason":{"nullable":true,"type":"string"},"resetsAt":{"nullable":true,"type":"string"},"projectedSpend":{"nullable":true,"type":"number"},"fallbackSpent":{"nullable":true,"type":"number"},"lastResetAt":{"nullable":true,"type":"string"},"lastResetByName":{"nullable":true,"type":"string"}},"required":["userId","name","email","image","source","environmentId","environmentName","limitValue","cleanupInterval","models","spent","estimatedUsage","percent","status","customLimitId","customReason","resetsAt","projectedSpend","fallbackSpent","lastResetAt","lastResetByName"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"currentPage":{"type":"integer","minimum":1,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"hasNext":{"type":"boolean"},"hasPrev":{"type":"boolean"}},"required":["currentPage","limit","total","totalPages","hasNext","hasPrev"],"additionalProperties":false},"summary":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"at":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"near":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"custom":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"none":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"organizationDefault":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"environmentDefault":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"flaggedCustom":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spent":{"type":"number"},"spenders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"resetsAt":{"nullable":true,"type":"string"},"environments":{"type":"array","items":{"type":"object","properties":{"environmentId":{"type":"string"},"users":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"at":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"near":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["environmentId","users","at","near"],"additionalProperties":false}}},"required":["total","at","near","custom","none","organizationDefault","environmentDefault","flaggedCustom","spent","spenders","resetsAt","environments"],"additionalProperties":false}},"required":["data","pagination","summary"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmLimit:read"]}}},"/api/default-user-limits/users/{userId}/reset":{"post":{"operationId":"resetUserLimitUsage","tags":["Limits"],"description":"Start a user's limit usage over from $0 now so their requests are allowed again. The next scheduled reset is unchanged and past usage stays in cost reports.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmLimit:update`](/docs/reference/permissions#llmLimit:update): Modify existing usage limits","parameters":[{"schema":{"type":"string","minLength":1},"in":"path","name":"userId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string"},"resetAt":{"type":"string"}},"required":["userId","resetAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmLimit:update"]}}},"/api/default-user-limits/{id}":{"patch":{"operationId":"updateDefaultUserLimit","tags":["Limits"],"description":"Update a default user limit (organization-wide or per-environment).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmLimit:update`](/docs/reference/permissions#llmLimit:update): Modify existing usage limits","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","environmentId","limitValue","cleanupInterval","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmLimit:update"]}},"delete":{"operationId":"deleteDefaultUserLimit","tags":["Limits"],"description":"Delete a default user limit (organization-wide or per-environment).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmLimit:delete`](/docs/reference/permissions#llmLimit:delete): Remove usage limits","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmLimit:delete"]}}},"/v1/gemini/embeddings":{"post":{"operationId":"geminiEmbeddingsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create embeddings with Gemini (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/gemini/{agentId}/embeddings":{"post":{"operationId":"geminiEmbeddingsWithAgent","tags":["LLM Proxy"],"description":"Create embeddings with Gemini for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/gemini/v1beta/models/{model}:generateContent":{"post":{"summary":"Generate content using Gemini","tags":["LLM Proxy"],"description":"Generate content using Gemini (default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiGenerateContentRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"model","required":true,"description":"The model to use"},{"schema":{"type":"string"},"in":"header","name":"x-vertex-ai-llm-request-type","required":false},{"schema":{"type":"string"},"in":"header","name":"x-vertex-ai-llm-shared-request-type","required":false},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"OAuth access token as a Bearer credential."},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"x-archestra-virtual-key","required":false,"description":"Passthrough virtual key used for proxy authentication."},{"schema":{"type":"string"},"in":"header","name":"x-goog-api-key","required":false,"description":"API key for Google Gemini. Required for Google AI Studio mode, optional for Vertex AI mode (uses ADC)."},{"schema":{"type":"string"},"in":"header","name":"x-goog-user-project","required":false,"description":"Google Cloud quota project for OAuth-authenticated requests."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiGenerateContentResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/gemini/v1beta/models/{model}:streamGenerateContent":{"post":{"summary":"Stream generated content using Gemini","tags":["LLM Proxy"],"description":"Stream generated content using Gemini (default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiGenerateContentRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"model","required":true,"description":"The model to use"},{"schema":{"type":"string"},"in":"header","name":"x-vertex-ai-llm-request-type","required":false},{"schema":{"type":"string"},"in":"header","name":"x-vertex-ai-llm-shared-request-type","required":false},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"OAuth access token as a Bearer credential."},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"x-archestra-virtual-key","required":false,"description":"Passthrough virtual key used for proxy authentication."},{"schema":{"type":"string"},"in":"header","name":"x-goog-api-key","required":false,"description":"API key for Google Gemini. Required for Google AI Studio mode, optional for Vertex AI mode (uses ADC)."},{"schema":{"type":"string"},"in":"header","name":"x-goog-user-project","required":false,"description":"Google Cloud quota project for OAuth-authenticated requests."}],"responses":{"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/gemini/{agentId}/v1beta/models/{model}:generateContent":{"post":{"summary":"Generate content using Gemini (specific agent)","tags":["LLM Proxy"],"description":"Generate content using Gemini with specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiGenerateContentRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"path","name":"model","required":true,"description":"The model to use"},{"schema":{"type":"string"},"in":"header","name":"x-vertex-ai-llm-request-type","required":false},{"schema":{"type":"string"},"in":"header","name":"x-vertex-ai-llm-shared-request-type","required":false},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"OAuth access token as a Bearer credential."},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"x-archestra-virtual-key","required":false,"description":"Passthrough virtual key used for proxy authentication."},{"schema":{"type":"string"},"in":"header","name":"x-goog-api-key","required":false,"description":"API key for Google Gemini. Required for Google AI Studio mode, optional for Vertex AI mode (uses ADC)."},{"schema":{"type":"string"},"in":"header","name":"x-goog-user-project","required":false,"description":"Google Cloud quota project for OAuth-authenticated requests."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiGenerateContentResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/gemini/{agentId}/v1beta/models/{model}:streamGenerateContent":{"post":{"summary":"Stream generated content using Gemini (specific agent)","tags":["LLM Proxy"],"description":"Stream generated content using Gemini with specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeminiGenerateContentRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"path","name":"model","required":true,"description":"The model to use"},{"schema":{"type":"string"},"in":"header","name":"x-vertex-ai-llm-request-type","required":false},{"schema":{"type":"string"},"in":"header","name":"x-vertex-ai-llm-shared-request-type","required":false},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"OAuth access token as a Bearer credential."},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"x-archestra-virtual-key","required":false,"description":"Passthrough virtual key used for proxy authentication."},{"schema":{"type":"string"},"in":"header","name":"x-goog-api-key","required":false,"description":"API key for Google Gemini. Required for Google AI Studio mode, optional for Vertex AI mode (uses ADC)."},{"schema":{"type":"string"},"in":"header","name":"x-goog-user-project","required":false,"description":"Google Cloud quota project for OAuth-authenticated requests."}],"responses":{"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/github-copilot-app/manifest":{"post":{"operationId":"startCopilotGithubApp","tags":["LLM Provider API Keys"],"description":"Start registering a GitHub App, from a manifest, that makes Copilot requests for a GitHub organization\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:create`](/docs/reference/permissions#llmProviderApiKey:create): Add new LLM provider API keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"string","minLength":1,"maxLength":500}},"required":["organization"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"manifest":{"type":"string"}},"required":["url","manifest"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:create"]}}},"/api/github-copilot-app/manifest/complete":{"post":{"operationId":"completeCopilotGithubApp","tags":["LLM Provider API Keys"],"description":"Exchange GitHub's one-time code for the new App; it is stored once installed\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":512},"state":{"type":"string","minLength":1,"maxLength":256}},"required":["code","state"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"account":{"type":"string"},"appId":{"type":"string"},"accountUrl":{"type":"string"},"htmlUrl":{"type":"string"},"installUrl":{"type":"string"},"settingsUrl":{"type":"string"}},"required":["name","slug","account","appId","accountUrl","htmlUrl","installUrl","settingsUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/github-copilot-app/pending":{"get":{"operationId":"getPendingCopilotGithubApp","tags":["LLM Provider API Keys"],"description":"The Copilot GitHub App created during setup that is not installed yet\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:create`](/docs/reference/permissions#llmProviderApiKey:create): Add new LLM provider API keys","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"nullable":true,"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"account":{"type":"string"},"appId":{"type":"string"},"accountUrl":{"type":"string"},"htmlUrl":{"type":"string"},"installUrl":{"type":"string"},"settingsUrl":{"type":"string"}},"required":["name","slug","account","appId","accountUrl","htmlUrl","installUrl","settingsUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:create"]}},"delete":{"operationId":"discardCopilotGithubApp","tags":["LLM Provider API Keys"],"description":"Forget the Copilot GitHub App created during setup so setup can start over\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:create`](/docs/reference/permissions#llmProviderApiKey:create): Add new LLM provider API keys","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:create"]}}},"/api/github-copilot-app/install":{"post":{"operationId":"installCopilotGithubApp","tags":["LLM Provider API Keys"],"description":"Store the new App as a shared GitHub Copilot key once it is installed on the organization\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:create`](/docs/reference/permissions#llmProviderApiKey:create): Add new LLM provider API keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"grants":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"subject":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["serviceAccount"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["role"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"id":{"type":"string","enum":["*"]}},"required":["type","id"]}]},"actions":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["read","use","update","delete","manage-permissions","configure-deployment-spec"]}}},"required":["subject","actions"]}},"replaceKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":256}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["waiting"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["installed"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organization":{"type":"string"},"modelIds":{"type":"array","items":{"type":"string"}}},"required":["status","id","organization","modelIds"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:create"]}}},"/api/github-copilot-app/credential":{"post":{"operationId":"connectCopilotGithubAppCredential","tags":["LLM Provider API Keys"],"description":"Use a GitHub App the organization already connected. Says so when its installation lacks Copilot Requests\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:create`](/docs/reference/permissions#llmProviderApiKey:create): Add new LLM provider API keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"credentialId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organization":{"type":"string","minLength":1,"maxLength":500},"replaceKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"grants":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"subject":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["serviceAccount"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["role"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"id":{"type":"string","enum":["*"]}},"required":["type","id"]}]},"actions":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["read","use","update","delete","manage-permissions","configure-deployment-spec"]}}},"required":["subject","actions"]}},"name":{"type":"string","minLength":1,"maxLength":256}},"required":["credentialId"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["installed"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organization":{"type":"string"},"modelIds":{"type":"array","items":{"type":"string"}}},"required":["status","id","organization","modelIds"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["needs_permission"]},"appName":{"type":"string"},"organization":{"type":"string"},"settingsUrl":{"type":"string"}},"required":["status","appName","organization","settingsUrl"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:create"]}}},"/api/github-copilot-app/organization/check":{"post":{"operationId":"checkCopilotGithubOrganization","tags":["LLM Provider API Keys"],"description":"Check that a name or GitHub address names a GitHub organization, before connecting an existing App\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:create`](/docs/reference/permissions#llmProviderApiKey:create): Add new LLM provider API keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"string","maxLength":500}},"required":["organization"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"string"}},"required":["organization"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:create"]}}},"/api/github-copilot-app/existing/validate":{"post":{"operationId":"validateExistingCopilotGithubApp","tags":["LLM Provider API Keys"],"description":"Check an existing GitHub App and its installation on the organization; returns the private key's fingerprint\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:create`](/docs/reference/permissions#llmProviderApiKey:create): Add new LLM provider API keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"appId":{"type":"string","pattern":"^\\d+$"},"organization":{"type":"string","minLength":1,"maxLength":500},"privateKey":{"type":"string","minLength":1,"maxLength":20000},"replaceKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["appId","privateKey"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"fingerprint":{"type":"string"},"installationId":{"type":"string"},"organization":{"type":"string"}},"required":["fingerprint","installationId","organization"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:create"]}}},"/api/github-copilot-app/existing":{"post":{"operationId":"connectExistingCopilotGithubApp","tags":["LLM Provider API Keys"],"description":"Store an existing GitHub App as a shared GitHub Copilot key, or replace the App credentials of one\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:create`](/docs/reference/permissions#llmProviderApiKey:create): Add new LLM provider API keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"appId":{"type":"string","pattern":"^\\d+$"},"organization":{"type":"string","minLength":1,"maxLength":500},"privateKey":{"type":"string","minLength":1,"maxLength":20000},"replaceKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"grants":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"subject":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["serviceAccount"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["role"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"id":{"type":"string","enum":["*"]}},"required":["type","id"]}]},"actions":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["read","use","update","delete","manage-permissions","configure-deployment-spec"]}}},"required":["subject","actions"]}},"name":{"type":"string","minLength":1,"maxLength":256}},"required":["appId","privateKey"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["installed"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organization":{"type":"string"},"modelIds":{"type":"array","items":{"type":"string"}}},"required":["status","id","organization","modelIds"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:create"]}}},"/api/github-copilot-app/keys/{id}":{"get":{"operationId":"getCopilotGithubAppKeySummary","tags":["LLM Provider API Keys"],"description":"The organization, App (name, icon, GitHub page) and key fingerprint of an organization's GitHub Copilot subscription\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"nullable":true,"type":"string"},"appId":{"type":"string"},"appName":{"nullable":true,"type":"string"},"appIcon":{"nullable":true,"type":"string"},"appUrl":{"nullable":true,"type":"string"},"githubUrl":{"type":"string"},"fingerprint":{"type":"string"}},"required":["organization","appId","appName","appIcon","appUrl","githubUrl","fingerprint"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/github-copilot-auth/device/start":{"post":{"operationId":"githubCopilotDeviceAuthStart","tags":["GitHub Copilot Auth"],"description":"Start the GitHub device flow used to connect a GitHub Copilot subscription\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"deviceCode":{"type":"string"},"userCode":{"type":"string"},"verificationUri":{"type":"string"},"interval":{"type":"number"},"expiresIn":{"type":"number"}},"required":["deviceCode","userCode","verificationUri","interval","expiresIn"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/github-copilot-auth/device/poll":{"post":{"operationId":"githubCopilotDeviceAuthPoll","tags":["GitHub Copilot Auth"],"description":"Poll the GitHub device flow once; returns the GitHub OAuth token when the user has authorized\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"deviceCode":{"type":"string","minLength":1}},"required":["deviceCode"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["pending"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["slow_down"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["complete"]},"accessToken":{"type":"string"}},"required":["status","accessToken"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/v1/github-copilot/chat/completions":{"post":{"operationId":"githubCopilotChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with GitHub Copilot (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string"},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","model"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/github-copilot/{agentId}/chat/completions":{"post":{"operationId":"githubCopilotChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with GitHub Copilot for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string"},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","model"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/github-copilot/responses":{"post":{"operationId":"githubCopilotResponsesWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a response with GitHub Copilot (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","model","output"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/github-copilot/{agentId}/responses":{"post":{"operationId":"githubCopilotResponsesWithAgent","tags":["LLM Proxy"],"description":"Create a response with GitHub Copilot for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string"},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","model","output"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/github-copilot/models":{"get":{"operationId":"githubCopilotListModelsWithDefaultAgent","tags":["LLM Proxy"],"description":"List GitHub Copilot models (default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string"},"in":"header","name":"authorization","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/github-copilot/{agentId}/models":{"get":{"operationId":"githubCopilotListModelsWithAgent","tags":["LLM Proxy"],"description":"List GitHub Copilot models (specific agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/groq/chat/completions":{"post":{"operationId":"groqChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Groq (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroqChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/groq/{agentId}/chat/completions":{"post":{"operationId":"groqChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Groq for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroqChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/guardrails-deployment":{"get":{"operationId":"getGuardrailsDeployment","tags":["Guardrails"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"unsupportedClientAction":{"type":"string","enum":["bypass","block"]},"breakTheGlassEnabled":{"type":"boolean"},"humanApprovalMode":{"type":"string","enum":["block","unattended","everywhere"]},"unapprovableBlockMode":{"type":"string","enum":["refuse","allow"]},"environmentOverrides":{"type":"array","items":{"type":"object","properties":{"setting":{"type":"string","enum":["humanApprovalMode","unapprovableBlockMode"]},"variable":{"type":"string"}},"required":["setting","variable"],"additionalProperties":false}},"annotatorModelId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"annotatorLlmApiKeyId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"featureEnabled":{"type":"boolean"},"active":{"type":"boolean"}},"required":["enabled","unsupportedClientAction","breakTheGlassEnabled","humanApprovalMode","unapprovableBlockMode","environmentOverrides","annotatorModelId","annotatorLlmApiKeyId","featureEnabled","active"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"},"put":{"operationId":"updateGuardrailsDeployment","tags":["Guardrails"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"unsupportedClientAction":{"type":"string","enum":["bypass","block"]},"breakTheGlassEnabled":{"type":"boolean"},"humanApprovalMode":{"type":"string","enum":["block","unattended","everywhere"]},"unapprovableBlockMode":{"type":"string","enum":["refuse","allow"]},"annotatorModelId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"annotatorLlmApiKeyId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"unsupportedClientAction":{"type":"string","enum":["bypass","block"]},"breakTheGlassEnabled":{"type":"boolean"},"humanApprovalMode":{"type":"string","enum":["block","unattended","everywhere"]},"unapprovableBlockMode":{"type":"string","enum":["refuse","allow"]},"environmentOverrides":{"type":"array","items":{"type":"object","properties":{"setting":{"type":"string","enum":["humanApprovalMode","unapprovableBlockMode"]},"variable":{"type":"string"}},"required":["setting","variable"],"additionalProperties":false}},"annotatorModelId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"annotatorLlmApiKeyId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"featureEnabled":{"type":"boolean"},"active":{"type":"boolean"}},"required":["enabled","unsupportedClientAction","breakTheGlassEnabled","humanApprovalMode","unapprovableBlockMode","environmentOverrides","annotatorModelId","annotatorLlmApiKeyId","featureEnabled","active"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["organizationSettings:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:update`](/docs/reference/permissions#organizationSettings:update): Change organization settings, messaging channels, and site notifications"}},"/api/guardrails-policy/annotators/noop":{"post":{"operationId":"annotateGuardrailsTool","tags":["Guardrails"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"kind":{"type":"string","enum":["annotation"]}},"required":["version","kind"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"answer":{"type":"object","properties":{"delta":{"type":"object","properties":{},"additionalProperties":false},"requires":{"type":"object","properties":{"history":{"type":"array","items":{"not":{}}},"attention":{"type":"array","items":{"not":{}}}},"required":["history","attention"],"additionalProperties":false},"emits":{"type":"array","items":{"not":{}}}},"required":["delta","requires","emits"],"additionalProperties":false}},"required":["version","answer"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"}},"/api/guardrails-policy":{"get":{"operationId":"getGuardrailsPolicy","tags":["Guardrails"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string"},"revision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"content":{"type":"string"},"contentHash":{"type":"string"},"updatedBy":{"nullable":true,"type":"string"},"updatedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["organizationId","revision","content","contentHash","updatedBy","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"},"put":{"operationId":"updateGuardrailsPolicy","tags":["Guardrails"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":262144},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["content","expectedRevision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string"},"revision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"content":{"type":"string"},"contentHash":{"type":"string"},"updatedBy":{"nullable":true,"type":"string"},"updatedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["organizationId","revision","content","contentHash","updatedBy","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/guardrails-policy/validate":{"post":{"operationId":"validateGuardrailsPolicy","tags":["Guardrails"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":262144}},"required":["content"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}},"required":["valid","errors","warnings"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/v1/jev/decisions":{"post":{"operationId":"jevDecisionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Request decisions from Jev (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JevDecisionsRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JevDecisionsResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/jev/{agentId}/decisions":{"post":{"operationId":"jevDecisionsWithAgent","tags":["LLM Proxy"],"description":"Request decisions from Jev for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JevDecisionsRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JevDecisionsResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/kimi-code/chat/completions":{"post":{"operationId":"kimiCodeChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Kimi Code (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/kimi-code/{agentId}/chat/completions":{"post":{"operationId":"kimiCodeChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Kimi Code for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/kimi/chat/completions":{"post":{"operationId":"kimiChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Kimi (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/kimi/{agentId}/chat/completions":{"post":{"operationId":"kimiChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Kimi for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/limits/labels/keys":{"get":{"operationId":"limitLabelKeys","tags":["Limits"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:read`, or a session-authenticated team admin. Label suggestions include only visible limits.","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:read`](/docs/reference/permissions#llmLimit:read), or a session-authenticated team admin. Label suggestions include only visible limits."}},"/api/limits/labels/values":{"get":{"operationId":"limitLabelValues","tags":["Limits"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:read`, or a session-authenticated team admin. Label suggestions include only visible limits.","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:read`](/docs/reference/permissions#llmLimit:read), or a session-authenticated team admin. Label suggestions include only visible limits."}},"/api/limits":{"get":{"operationId":"getLimits","tags":["Limits"],"description":"Get all limits with optional filtering and per-model usage breakdown\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:read`](/docs/reference/permissions#llmLimit:read) for organization-wide access. A session-authenticated team admin receives only limits for teams they directly administer, with optional entity filters.","parameters":[{"schema":{"type":"string","enum":["organization","team","agent","user","virtual_key","environment","llm_oauth_client"]},"in":"query","name":"entityType","required":false},{"schema":{"type":"string"},"in":"query","name":"entityId","required":false},{"schema":{"type":"string","enum":["token_cost","requests","tokens","requests_per_minute","tokens_per_minute","mcp_server_calls","tool_calls"]},"in":"query","name":"limitType","required":false},{"schema":{"type":"string"},"in":"query","name":"labels","required":false,"description":"Filter by labels. Format: key1:val1|val2;key2:val3. AND across keys, OR within values."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"entityType":{"type":"string","enum":["organization","team","agent","user","virtual_key","environment","llm_oauth_client"]},"entityId":{"type":"string"},"limitType":{"type":"string","enum":["token_cost","requests","tokens","requests_per_minute","tokens_per_minute","mcp_server_calls","tool_calls"]},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"behavior":{"type":"string","enum":["hard","soft"]},"mcpServerName":{"nullable":true,"type":"string","maxLength":255},"toolName":{"nullable":true,"type":"string","maxLength":255},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"reason":{"nullable":true,"type":"string"},"teamManaged":{"type":"boolean","description":"Whether a team admin created this team limit. Team admins can change or delete only these."},"cleanupInterval":{"type":"string","enum":["minute","1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"lastCleanup":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"throughputUsage":{"type":"object","properties":{"currentUsage":{"type":"number","description":"Recorded usage. Token limits count only provider-reported tokens; requests already in flight can exceed the cap."},"resetsAt":{"type":"string","description":"Minute: projected full allowance recovery without new traffic. Other intervals: next reset."}},"required":["currentUsage","resetsAt"],"additionalProperties":false},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"estimatedUsage":{"description":"Spend limits only: part of the spend is estimated because a model had no price for some of the tokens a request used.","type":"boolean"},"modelUsage":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"tokensIn":{"type":"number"},"tokensOut":{"type":"number"},"cost":{"type":"number"}},"required":["model","tokensIn","tokensOut","cost"],"additionalProperties":false}}},"required":["id","entityType","entityId","limitType","limitValue","behavior","mcpServerName","toolName","teamManaged","lastCleanup","createdAt","updatedAt","labels"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:read` for organization-wide access. A session-authenticated team admin receives only limits for teams they directly administer, with optional entity filters.","permissions":[]}},"post":{"operationId":"createLimit","tags":["Limits"],"description":"Create a new limit\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:create`](/docs/reference/permissions#llmLimit:create), or a session-authenticated team admin creating a limit on their own team.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entityType":{"type":"string","enum":["organization","team","agent","user","virtual_key","environment","llm_oauth_client"]},"entityId":{"type":"string"},"limitType":{"type":"string","enum":["token_cost","requests","tokens","requests_per_minute","tokens_per_minute","mcp_server_calls","tool_calls"]},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"behavior":{"type":"string","enum":["hard","soft"]},"mcpServerName":{"nullable":true,"type":"string","maxLength":255},"toolName":{"nullable":true,"type":"string","maxLength":255},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"reason":{"nullable":true,"type":"string","maxLength":500},"cleanupInterval":{"type":"string","enum":["minute","1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"lastCleanup":{"nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}}},"required":["entityType","entityId","limitType","limitValue"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"entityType":{"type":"string","enum":["organization","team","agent","user","virtual_key","environment","llm_oauth_client"]},"entityId":{"type":"string"},"limitType":{"type":"string","enum":["token_cost","requests","tokens","requests_per_minute","tokens_per_minute","mcp_server_calls","tool_calls"]},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"behavior":{"type":"string","enum":["hard","soft"]},"mcpServerName":{"nullable":true,"type":"string","maxLength":255},"toolName":{"nullable":true,"type":"string","maxLength":255},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"reason":{"nullable":true,"type":"string"},"teamManaged":{"type":"boolean","description":"Whether a team admin created this team limit. Team admins can change or delete only these."},"cleanupInterval":{"type":"string","enum":["minute","1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"lastCleanup":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","entityType","entityId","limitType","limitValue","behavior","mcpServerName","toolName","teamManaged","lastCleanup","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:create`, or a session-authenticated team admin creating a limit on their own team.","permissions":[]}}},"/api/limits/{id}":{"get":{"operationId":"getLimit","tags":["Limits"],"description":"Get a limit by ID\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:read`](/docs/reference/permissions#llmLimit:read), or a session-authenticated team admin for a limit on their own team.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"entityType":{"type":"string","enum":["organization","team","agent","user","virtual_key","environment","llm_oauth_client"]},"entityId":{"type":"string"},"limitType":{"type":"string","enum":["token_cost","requests","tokens","requests_per_minute","tokens_per_minute","mcp_server_calls","tool_calls"]},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"behavior":{"type":"string","enum":["hard","soft"]},"mcpServerName":{"nullable":true,"type":"string","maxLength":255},"toolName":{"nullable":true,"type":"string","maxLength":255},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"reason":{"nullable":true,"type":"string"},"teamManaged":{"type":"boolean","description":"Whether a team admin created this team limit. Team admins can change or delete only these."},"cleanupInterval":{"type":"string","enum":["minute","1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"lastCleanup":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"throughputUsage":{"type":"object","properties":{"currentUsage":{"type":"number","description":"Recorded usage. Token limits count only provider-reported tokens; requests already in flight can exceed the cap."},"resetsAt":{"type":"string","description":"Minute: projected full allowance recovery without new traffic. Other intervals: next reset."}},"required":["currentUsage","resetsAt"],"additionalProperties":false},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"estimatedUsage":{"description":"Spend limits only: part of the spend is estimated because a model had no price for some of the tokens a request used.","type":"boolean"},"modelUsage":{"type":"array","items":{"type":"object","properties":{"model":{"type":"string"},"tokensIn":{"type":"number"},"tokensOut":{"type":"number"},"cost":{"type":"number"}},"required":["model","tokensIn","tokensOut","cost"],"additionalProperties":false}}},"required":["id","entityType","entityId","limitType","limitValue","behavior","mcpServerName","toolName","teamManaged","lastCleanup","createdAt","updatedAt","labels"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:read`, or a session-authenticated team admin for a limit on their own team.","permissions":[]}},"patch":{"operationId":"updateLimit","tags":["Limits"],"description":"Update a limit\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:update`](/docs/reference/permissions#llmLimit:update), or a session-authenticated team admin updating a limit on their own team.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limitType":{"type":"string","enum":["token_cost","requests","tokens","requests_per_minute","tokens_per_minute","mcp_server_calls","tool_calls"]},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"behavior":{"type":"string","enum":["hard","soft"]},"mcpServerName":{"nullable":true,"type":"string","maxLength":255},"toolName":{"nullable":true,"type":"string","maxLength":255},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"reason":{"nullable":true,"type":"string","maxLength":500},"cleanupInterval":{"type":"string","enum":["minute","1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"lastCleanup":{"type":"string","nullable":true,"enum":[null]}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"entityType":{"type":"string","enum":["organization","team","agent","user","virtual_key","environment","llm_oauth_client"]},"entityId":{"type":"string"},"limitType":{"type":"string","enum":["token_cost","requests","tokens","requests_per_minute","tokens_per_minute","mcp_server_calls","tool_calls"]},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"behavior":{"type":"string","enum":["hard","soft"]},"mcpServerName":{"nullable":true,"type":"string","maxLength":255},"toolName":{"nullable":true,"type":"string","maxLength":255},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"reason":{"nullable":true,"type":"string"},"teamManaged":{"type":"boolean","description":"Whether a team admin created this team limit. Team admins can change or delete only these."},"cleanupInterval":{"type":"string","enum":["minute","1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"lastCleanup":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","entityType","entityId","limitType","limitValue","behavior","mcpServerName","toolName","teamManaged","lastCleanup","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:update`, or a session-authenticated team admin updating a limit on their own team.","permissions":[]}},"delete":{"operationId":"deleteLimit","tags":["Limits"],"description":"Delete a limit\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:delete`](/docs/reference/permissions#llmLimit:delete), or a session-authenticated team admin deleting a limit on their own team.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:delete`, or a session-authenticated team admin deleting a limit on their own team.","permissions":[]}}},"/api/limits/{id}/reset":{"post":{"operationId":"resetLimitUsage","tags":["Limits"],"description":"Reset a spend limit's current window to $0, so the requests it blocks run again. Cost reports keep the past spend. A calendar interval keeps its schedule. A rolling interval next resets one interval from now.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:update`](/docs/reference/permissions#llmLimit:update), or a session-authenticated team admin resetting a limit on their own team.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"entityType":{"type":"string","enum":["organization","team","agent","user","virtual_key","environment","llm_oauth_client"]},"entityId":{"type":"string"},"limitType":{"type":"string","enum":["token_cost","requests","tokens","requests_per_minute","tokens_per_minute","mcp_server_calls","tool_calls"]},"limitValue":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"behavior":{"type":"string","enum":["hard","soft"]},"mcpServerName":{"nullable":true,"type":"string","maxLength":255},"toolName":{"nullable":true,"type":"string","maxLength":255},"model":{"nullable":true,"type":"array","items":{"type":"string"}},"reason":{"nullable":true,"type":"string"},"teamManaged":{"type":"boolean","description":"Whether a team admin created this team limit. Team admins can change or delete only these."},"cleanupInterval":{"type":"string","enum":["minute","1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"lastCleanup":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","entityType","entityId","limitType","limitValue","behavior","mcpServerName","toolName","teamManaged","lastCleanup","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:update`, or a session-authenticated team admin resetting a limit on their own team.","permissions":[]}}},"/api/limits/bulk":{"delete":{"operationId":"bulkDeleteLimits","tags":["Limits"],"description":"Delete several limits in one request. Missing or out-of-organization ids are reported in `failed` while visible limits are deleted.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`llmLimit:delete`](/docs/reference/permissions#llmLimit:delete), or a session-authenticated team admin deleting only limits for teams they administer. Unauthorized targets are reported as not found.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Limit ids to delete. Duplicates are collapsed."}},"required":["ids"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `llmLimit:delete`, or a session-authenticated team admin deleting only limits for teams they administer. Unauthorized targets are reported as not found.","permissions":[]}}},"/api/llm-provider-models/labels/keys":{"get":{"operationId":"llmProviderModelLabelKeys","tags":["LLM Models"],"description":"Get all label keys used by models\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmModel:read`](/docs/reference/permissions#llmModel:read): View synced LLM models and capabilities","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmModel:read"]}}},"/api/llm-provider-models/labels/values":{"get":{"operationId":"llmProviderModelLabelValues","tags":["LLM Models"],"description":"Get all label values used by models\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmModel:read`](/docs/reference/permissions#llmModel:read): View synced LLM models and capabilities","parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":false,"description":"Filter values by label key"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmModel:read"]}}},"/api/llm-models/available":{"get":{"operationId":"getLlmModels","tags":["LLM Models"],"description":"Get available LLM models from configured provider API keys. Models are fetched from the provider-backed catalog and include capabilities when available.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"in":"query","name":"provider","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"apiKeyId","required":false},{"schema":{"type":"string"},"in":"query","name":"isEmbedding","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"dbId":{"type":"string"},"displayName":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"createdAt":{"type":"string"},"capabilities":{"type":"object","properties":{"contextLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"inputModalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","image","audio","video","pdf"]}},"outputModalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","image","audio"]}},"supportsToolCalling":{"nullable":true,"type":"boolean"},"supportsReasoningEffort":{"nullable":true,"type":"boolean"},"supportedEndpoints":{"nullable":true,"type":"array","items":{"type":"string","enum":["/chat/completions","/responses"]}},"recommendedForAgents":{"nullable":true,"type":"boolean"},"pricePerMillionInput":{"nullable":true,"type":"string"},"pricePerMillionOutput":{"nullable":true,"type":"string"},"isCustomPrice":{"type":"boolean"},"priceSource":{"type":"string","enum":["custom","models_dev","provider","aws","derived_multiplier","default"]},"pricePerMillionCacheRead":{"nullable":true,"type":"string"},"pricePerMillionCacheWrite":{"nullable":true,"type":"string"},"cachePriceSource":{"nullable":true,"type":"string","enum":["custom","models_dev","provider","aws","derived_multiplier","default"]},"mediaPricing":{"nullable":true,"type":"object","properties":{"per":{"type":"string","enum":["million_tokens","million_characters","minute"]},"input":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["text","image","audio","text_and_image"]},"usd":{"type":"number"}},"required":["kind","usd"],"additionalProperties":false}},"output":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["text","image","audio","text_and_image"]},"usd":{"type":"number"}},"required":["kind","usd"],"additionalProperties":false}}},"required":["per","input","output"],"additionalProperties":false}},"required":["contextLength","inputModalities","outputModalities","supportsToolCalling","supportsReasoningEffort","recommendedForAgents","pricePerMillionInput","pricePerMillionOutput","isCustomPrice","priceSource","pricePerMillionCacheRead","pricePerMillionCacheWrite","cachePriceSource","mediaPricing"],"additionalProperties":false},"isBest":{"type":"boolean"},"isFree":{"type":"boolean"},"embeddingDimensions":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbeddingDimensions"}]},"requiresUserConnection":{"type":"boolean"},"isConnected":{"type":"boolean"}},"required":["id","dbId","displayName","provider","isFree"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-models/sync":{"post":{"operationId":"syncLlmModels","tags":["LLM Models"],"description":"Sync models from providers for all visible API keys and store them in the database\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmModel:update`](/docs/reference/permissions#llmModel:update): Sync the model catalog and see every model, including ones not shared with you","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"failures":{"type":"array","items":{"type":"object","properties":{"apiKeyId":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"requiresReauthentication":{"type":"boolean"}},"required":["apiKeyId","name","provider","requiresReauthentication"],"additionalProperties":false}}},"required":["success","failures"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmModel:update"]}}},"/api/llm-models":{"get":{"operationId":"getModelsWithApiKeys","tags":["LLM Models"],"description":"Get all synced LLM models with their linked provider API keys.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"minItems":1,"type":"array","items":{"type":"string","enum":["mine","shared","org","others"]}},"in":"query","name":"access","required":false,"description":"Keep only objects the caller reaches in one of these ways (comma-separated): mine (authored by the caller), shared (shared with the caller or one of their teams), org (shared with the organization), others (visible only through organization-wide authority). Omit for every readable object."},{"schema":{"minItems":1,"type":"array","items":{"type":"string"}},"in":"query","name":"sharedWith","required":false,"description":"Keep only objects whose own permissions grant read to one of these subjects (comma-separated): org (the whole organization), role:<roleId>, team:<teamId>, user:<userId>, serviceAccount:<serviceAccountId>. Grants inherited from organization-wide permissions do not count. Omit for no filtering."},{"schema":{"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"apiKeyIds","required":false,"description":"Only models linked to one of these provider keys."},{"schema":{"type":"boolean"},"in":"query","name":"embedding","required":false,"description":"Only embedding models (models with known dimensions)."},{"schema":{"type":"boolean"},"in":"query","name":"includeAssignments","required":false,"description":"Include each model's teams, users and labels (default true). False returns them empty, for pickers that show only the models."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"externalId":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"modelId":{"type":"string"},"description":{"nullable":true,"type":"string"},"contextLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"outputLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"customContextLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"customOutputLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"inputModalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","image","audio","video","pdf"]}},"outputModalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","image","audio"]}},"supportsToolCalling":{"nullable":true,"type":"boolean"},"supportsReasoningEffort":{"nullable":true,"type":"boolean"},"supportedEndpoints":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"promptPricePerToken":{"nullable":true,"type":"string"},"completionPricePerToken":{"nullable":true,"type":"string"},"cacheReadPricePerToken":{"nullable":true,"type":"string"},"cacheWritePricePerToken":{"nullable":true,"type":"string"},"customPricePerMillionInput":{"nullable":true,"type":"string"},"customPricePerMillionOutput":{"nullable":true,"type":"string"},"customPricePerMillionCacheRead":{"nullable":true,"type":"string"},"customPricePerMillionCacheWrite":{"nullable":true,"type":"string"},"longContextThreshold":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"longContextPricePerMillionInput":{"nullable":true,"type":"string"},"longContextPricePerMillionOutput":{"nullable":true,"type":"string"},"longContextPricePerMillionCacheRead":{"nullable":true,"type":"string"},"longContextPricePerMillionCacheWrite":{"nullable":true,"type":"string"},"ignored":{"type":"boolean"},"embeddingDimensions":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbeddingDimensions"}]},"defaultParameters":{"nullable":true,"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"array","items":{"type":"string"}}]}},"configuredParameters":{"nullable":true,"type":"object","properties":{"temperature":{"type":"number","minimum":0},"top_p":{"type":"number","minimum":0,"maximum":1},"top_k":{"type":"integer","minimum":0,"maximum":9007199254740991},"repeat_penalty":{"type":"number","minimum":0},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"stop":{"maxItems":16,"type":"array","items":{"type":"string","maxLength":256}},"num_ctx":{"type":"integer","minimum":1,"maximum":10000000},"num_predict":{"type":"integer","minimum":-2,"maximum":9007199254740991},"reasoning_effort":{"type":"string","enum":["none","low","medium","high"]}},"additionalProperties":false},"discoveredViaLlmProxy":{"type":"boolean"},"lastSyncedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"isBest":{"type":"boolean"},"apiKeys":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"provider":{"type":"string"},"scope":{"type":"string"},"isSystem":{"type":"boolean"}},"required":["id","name","provider","scope","isSystem"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"pricePerMillionInput":{"nullable":true,"type":"string"},"pricePerMillionOutput":{"nullable":true,"type":"string"},"isCustomPrice":{"type":"boolean"},"priceSource":{"type":"string","enum":["custom","models_dev","provider","aws","derived_multiplier","default"]},"pricePerMillionCacheRead":{"nullable":true,"type":"string"},"pricePerMillionCacheWrite":{"nullable":true,"type":"string"},"cachePriceSource":{"nullable":true,"type":"string","enum":["custom","models_dev","provider","aws","derived_multiplier","default"]},"mediaPricing":{"nullable":true,"type":"object","properties":{"per":{"type":"string","enum":["million_tokens","million_characters","minute"]},"input":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["text","image","audio","text_and_image"]},"usd":{"type":"number"}},"required":["kind","usd"],"additionalProperties":false}},"output":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["text","image","audio","text_and_image"]},"usd":{"type":"number"}},"required":["kind","usd"],"additionalProperties":false}}},"required":["per","input","output"],"additionalProperties":false},"isFree":{"type":"boolean"},"effectiveContextLength":{"nullable":true,"type":"number"},"embeddingClientImageCapable":{"nullable":true,"type":"boolean"}},"required":["id","externalId","provider","modelId","description","contextLength","outputLength","customContextLength","customOutputLength","inputModalities","outputModalities","supportsToolCalling","supportsReasoningEffort","supportedEndpoints","promptPricePerToken","completionPricePerToken","cacheReadPricePerToken","cacheWritePricePerToken","customPricePerMillionInput","customPricePerMillionOutput","customPricePerMillionCacheRead","customPricePerMillionCacheWrite","longContextThreshold","longContextPricePerMillionInput","longContextPricePerMillionOutput","longContextPricePerMillionCacheRead","longContextPricePerMillionCacheWrite","ignored","embeddingDimensions","defaultParameters","configuredParameters","discoveredViaLlmProxy","lastSyncedAt","createdAt","updatedAt","isBest","apiKeys","teams","users","labels","pricePerMillionInput","pricePerMillionOutput","isCustomPrice","priceSource","pricePerMillionCacheRead","pricePerMillionCacheWrite","cachePriceSource","mediaPricing","isFree","effectiveContextLength","embeddingClientImageCapable"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-models/key-model-ids":{"get":{"operationId":"getLlmModelIdsByKey","tags":["LLM Models"],"description":"For each provider key the caller can see, the ids of the models it serves, leaving out hidden models. The models are the ones GET /api/llm-models lists for that key.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"apiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelIds":{"type":"array","items":{"type":"string"}}},"required":["apiKeyId","modelIds"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-models/options":{"get":{"operationId":"getLlmModelOptions","tags":["LLM Models"],"description":"The models GET /api/llm-models lists, in the same order, with only what a model picker shows: name, provider and price.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelId":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"description":{"nullable":true,"type":"string"},"pricePerMillionInput":{"nullable":true,"type":"string"},"pricePerMillionOutput":{"nullable":true,"type":"string"},"isFree":{"type":"boolean"},"isBest":{"type":"boolean"}},"required":["id","modelId","provider","description","pricePerMillionInput","pricePerMillionOutput","isFree","isBest"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-models/bulk":{"patch":{"operationId":"bulkUpdateModels","tags":["LLM Models"],"description":"Update several LLM models in one request. Today the only bulk-editable field is `ignored`, which hides a model from pickers and blocks new executions, including direct provider requests, without deleting it. Ids that match no model are reported in `failed` and leave the rest of the batch applied.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string"},"description":"Ids to act on. Duplicates are collapsed."},"ignored":{"type":"boolean","description":"Whether every model in the batch is hidden."}},"required":["ids","ignored"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-models/{id}":{"delete":{"operationId":"deleteModel","tags":["LLM Models"],"description":"Remove an unconfigured model entry observed in proxy requests. Saved pricing, provider links, sharing settings and retained references prevent removal. Recorded interactions and spend are retained. Another request may rediscover the model.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmModel:update`](/docs/reference/permissions#llmModel:update): Sync the model catalog and see every model, including ones not shared with you","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmModel:update"]}},"patch":{"operationId":"updateModel","tags":["LLM Models"],"description":"Update LLM model details including custom pricing and modalities.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customPricePerMillionInput":{"nullable":true,"type":"string"},"customPricePerMillionOutput":{"nullable":true,"type":"string"},"customPricePerMillionCacheRead":{"nullable":true,"type":"string"},"customPricePerMillionCacheWrite":{"nullable":true,"type":"string"},"longContextThreshold":{"nullable":true,"type":"integer","minimum":1,"maximum":10000000},"longContextPricePerMillionInput":{"nullable":true,"type":"string"},"longContextPricePerMillionOutput":{"nullable":true,"type":"string"},"longContextPricePerMillionCacheRead":{"nullable":true,"type":"string"},"longContextPricePerMillionCacheWrite":{"nullable":true,"type":"string"},"customContextLength":{"nullable":true,"type":"integer","minimum":1,"maximum":10000000},"customOutputLength":{"nullable":true,"type":"integer","minimum":1,"maximum":10000000},"ignored":{"type":"boolean"},"embeddingDimensions":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbeddingDimensionsInput"}]},"inputModalities":{"nullable":true,"minItems":1,"type":"array","items":{"type":"string","enum":["text","image","audio","video","pdf"]}},"outputModalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","image","audio"]}},"configuredParameters":{"nullable":true,"type":"object","properties":{"temperature":{"type":"number","minimum":0},"top_p":{"type":"number","minimum":0,"maximum":1},"top_k":{"type":"integer","minimum":0,"maximum":9007199254740991},"repeat_penalty":{"type":"number","minimum":0},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"stop":{"maxItems":16,"type":"array","items":{"type":"string","maxLength":256}},"num_ctx":{"type":"integer","minimum":1,"maximum":10000000},"num_predict":{"type":"integer","minimum":-2,"maximum":9007199254740991},"reasoning_effort":{"type":"string","enum":["none","low","medium","high"]}}},"teamIds":{"not":{}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"externalId":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"modelId":{"type":"string"},"description":{"nullable":true,"type":"string"},"contextLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"outputLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"customContextLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"customOutputLength":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"inputModalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","image","audio","video","pdf"]}},"outputModalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","image","audio"]}},"supportsToolCalling":{"nullable":true,"type":"boolean"},"supportsReasoningEffort":{"nullable":true,"type":"boolean"},"supportedEndpoints":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"promptPricePerToken":{"nullable":true,"type":"string"},"completionPricePerToken":{"nullable":true,"type":"string"},"cacheReadPricePerToken":{"nullable":true,"type":"string"},"cacheWritePricePerToken":{"nullable":true,"type":"string"},"customPricePerMillionInput":{"nullable":true,"type":"string"},"customPricePerMillionOutput":{"nullable":true,"type":"string"},"customPricePerMillionCacheRead":{"nullable":true,"type":"string"},"customPricePerMillionCacheWrite":{"nullable":true,"type":"string"},"longContextThreshold":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"longContextPricePerMillionInput":{"nullable":true,"type":"string"},"longContextPricePerMillionOutput":{"nullable":true,"type":"string"},"longContextPricePerMillionCacheRead":{"nullable":true,"type":"string"},"longContextPricePerMillionCacheWrite":{"nullable":true,"type":"string"},"ignored":{"type":"boolean"},"embeddingDimensions":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EmbeddingDimensions"}]},"defaultParameters":{"nullable":true,"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"array","items":{"type":"string"}}]}},"configuredParameters":{"nullable":true,"type":"object","properties":{"temperature":{"type":"number","minimum":0},"top_p":{"type":"number","minimum":0,"maximum":1},"top_k":{"type":"integer","minimum":0,"maximum":9007199254740991},"repeat_penalty":{"type":"number","minimum":0},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"stop":{"maxItems":16,"type":"array","items":{"type":"string","maxLength":256}},"num_ctx":{"type":"integer","minimum":1,"maximum":10000000},"num_predict":{"type":"integer","minimum":-2,"maximum":9007199254740991},"reasoning_effort":{"type":"string","enum":["none","low","medium","high"]}},"additionalProperties":false},"discoveredViaLlmProxy":{"type":"boolean"},"lastSyncedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","externalId","provider","modelId","description","contextLength","outputLength","customContextLength","customOutputLength","inputModalities","outputModalities","supportsToolCalling","supportsReasoningEffort","supportedEndpoints","promptPricePerToken","completionPricePerToken","cacheReadPricePerToken","cacheWritePricePerToken","customPricePerMillionInput","customPricePerMillionOutput","customPricePerMillionCacheRead","customPricePerMillionCacheWrite","longContextThreshold","longContextPricePerMillionInput","longContextPricePerMillionOutput","longContextPricePerMillionCacheRead","longContextPricePerMillionCacheWrite","ignored","embeddingDimensions","defaultParameters","configuredParameters","discoveredViaLlmProxy","lastSyncedAt","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-models/{id}/cost-backfill/preview":{"post":{"operationId":"previewModelCostBackfill","tags":["LLM Models"],"description":"Preview recomputing the recorded cost of a model's past requests: recorded and recomputed cost per day, and what a recompute from `since` would change. Pass `prices` to preview unsaved custom prices.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"timeZone":{"type":"string","maxLength":64},"since":{"nullable":true},"prices":{"type":"object","properties":{"input":{"nullable":true,"type":"string"},"output":{"nullable":true,"type":"string"},"cacheRead":{"nullable":true,"type":"string"},"cacheWrite":{"nullable":true,"type":"string"}},"required":["input","output","cacheRead","cacheWrite"]}},"required":["timeZone"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"availability":{"type":"string","enum":["available","index_pending","provider_reported_cost","needs_custom_price"]},"instancePriced":{"type":"boolean"},"days":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string"},"requests":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recordedCost":{"type":"number"},"recomputedCost":{"type":"number"}},"required":["day","requests","recordedCost","recomputedCost"],"additionalProperties":false}},"window":{"nullable":true,"type":"object","properties":{"requests":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subscriptionRequests":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"users":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recordedCost":{"type":"number"},"recomputedCost":{"type":"number"}},"required":["requests","subscriptionRequests","users","recordedCost","recomputedCost"],"additionalProperties":false}},"required":["availability","instancePriced","days","window"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-models/{id}/cost-backfill":{"post":{"operationId":"startModelCostBackfill","tags":["LLM Models"],"description":"Recompute the recorded cost of a model's past requests from `since` (all of them when null) at its current prices. Runs in the background; poll the GET endpoint for progress. It also re-prices each request's settled receipt and corrects the spend limits whose current window holds the charge.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"since":{"nullable":true},"prices":{"description":"The custom prices you saved and expect the recompute to use. When the model's prices no longer match, nothing starts (409).","type":"object","properties":{"input":{"nullable":true,"type":"string"},"output":{"nullable":true,"type":"string"},"cacheRead":{"nullable":true,"type":"string"},"cacheWrite":{"nullable":true,"type":"string"}},"required":["input","output","cacheRead","cacheWrite"]}},"required":["since"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"since":{"type":"string","format":"date-time"},"cutoff":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["pending","running","completed","failed"]},"rowsEstimated":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"rowsScanned":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"rowsUpdated":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"error":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"completedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","modelId","since","cutoff","status","rowsEstimated","rowsScanned","rowsUpdated","error","createdAt","completedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"get":{"operationId":"getModelCostBackfill","tags":["LLM Models"],"description":"The model's most recent cost recompute and its progress, or null when none was started.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"nullable":true,"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"since":{"type":"string","format":"date-time"},"cutoff":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["pending","running","completed","failed"]},"rowsEstimated":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"rowsScanned":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"rowsUpdated":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"error":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"completedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","modelId","since","cutoff","status","rowsEstimated","rowsScanned","rowsUpdated","error","createdAt","completedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-oauth-clients/labels/keys":{"get":{"operationId":"llmOauthClientLabelKeys","tags":["LLM OAuth Clients"],"description":"Get all label keys used by LLM OAuth clients\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`oauthClient:read`](/docs/reference/permissions#oauthClient:read): Open OAuth client registrations","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["oauthClient:read"]}}},"/api/llm-oauth-clients/labels/values":{"get":{"operationId":"llmOauthClientLabelValues","tags":["LLM OAuth Clients"],"description":"Get all label values used by LLM OAuth clients\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`oauthClient:read`](/docs/reference/permissions#oauthClient:read): Open OAuth client registrations","parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":false,"description":"Filter values by label key"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["oauthClient:read"]}}},"/api/llm-oauth-clients":{"get":{"operationId":"getLlmOauthClients","tags":["LLM OAuth Clients"],"description":"List LLM OAuth clients that can access LLM proxies\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"search","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"providerApiKeyId","required":false},{"schema":{"type":"string","enum":["client_credentials","authorization_code"]},"in":"query","name":"grantType","required":false},{"schema":{"type":"string"},"in":"query","name":"labels","required":false,"description":"Filter by labels. Format: key1:val1|val2;key2:val3. AND across keys, OR within values."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","enum":["mine","shared","org","others"]}},"in":"query","name":"access","required":false,"description":"Keep only objects the caller reaches in one of these ways (comma-separated): mine (authored by the caller), shared (shared with the caller or one of their teams), org (shared with the organization), others (visible only through organization-wide authority). Omit for every readable object."},{"schema":{"minItems":1,"type":"array","items":{"type":"string"}},"in":"query","name":"sharedWith","required":false,"description":"Keep only objects whose own permissions grant read to one of these subjects (comma-separated): org (the whole organization), role:<roleId>, team:<teamId>, user:<userId>, serviceAccount:<serviceAccountId>. Grants inherited from organization-wide permissions do not count. Omit for no filtering."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"owner","required":false,"description":"Keep only objects authored by one of these user IDs (comma-separated). Narrows the rows the caller can already read. Omit for no filtering."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"clientId":{"type":"string"},"serviceAccountId":{"nullable":true,"type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"grantType":{"type":"string","enum":["client_credentials","authorization_code"]},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyName":{"type":"string"}},"required":["provider","providerApiKeyId","providerApiKeyName"],"additionalProperties":false}},"redirectUris":{"type":"array","items":{"type":"string"}},"disabled":{"type":"boolean"},"authorId":{"nullable":true,"type":"string"},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"modelPoolIds":{"default":[],"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"billingTeam":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"limitId":{"type":"string"},"currentUsage":{"type":"number"},"estimatedUsage":{"type":"boolean"}},"required":["limitValue","cleanupInterval","limitId","currentUsage","estimatedUsage"],"additionalProperties":false}},"required":["id","clientId","serviceAccountId","name","organizationId","grantType","providerApiKeys","redirectUris","disabled","authorId","authorName","createdBy","labels","modelPoolIds","createdAt","updatedAt","billingTeam","spendCap"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"currentPage":{"type":"integer","minimum":1,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"hasNext":{"type":"boolean"},"hasPrev":{"type":"boolean"}},"required":["currentPage","limit","total","totalPages","hasNext","hasPrev"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"createLlmOauthClient","tags":["LLM OAuth Clients"],"description":"Create an LLM OAuth client and return its client secret once\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`oauthClient:create`](/docs/reference/permissions#oauthClient:create): Create OAuth client registrations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256},"serviceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"grantType":{"default":"client_credentials","type":"string","enum":["client_credentials","authorization_code"]},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["provider","providerApiKeyId"]}},"redirectUris":{"type":"array","items":{"type":"string","format":"uri"}},"labels":{"description":"Key/value labels. Omit to leave existing labels untouched; pass [] to clear them.","type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"billingTeamId":{"description":"Team a client_credentials client's spend is charged to. Omit to keep it; null stops billing a team. Signed-in users of an authorization_code client pay for themselves.","nullable":true,"type":"string"},"spendCap":{"description":"Spend cap for the whole client, stored as a token_cost limit on it. Omit to keep it; null removes it.","nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]}},"required":["limitValue","cleanupInterval"]},"initialGrants":{"description":"Who else starts with access, beside the creator who always gets full access.","maxItems":200,"type":"array","items":{"type":"object","properties":{"subject":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["serviceAccount"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["role"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"id":{"type":"string","enum":["*"]}},"required":["type","id"]}]},"actions":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["read","use","update","delete","manage-permissions","configure-deployment-spec"]}}},"required":["subject","actions"]}}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"clientId":{"type":"string"},"serviceAccountId":{"nullable":true,"type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"grantType":{"type":"string","enum":["client_credentials","authorization_code"]},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyName":{"type":"string"}},"required":["provider","providerApiKeyId","providerApiKeyName"],"additionalProperties":false}},"redirectUris":{"type":"array","items":{"type":"string"}},"disabled":{"type":"boolean"},"authorId":{"nullable":true,"type":"string"},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"modelPoolIds":{"default":[],"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"billingTeam":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"limitId":{"type":"string"},"currentUsage":{"type":"number"},"estimatedUsage":{"type":"boolean"}},"required":["limitValue","cleanupInterval","limitId","currentUsage","estimatedUsage"],"additionalProperties":false},"clientSecret":{"type":"string"}},"required":["id","clientId","serviceAccountId","name","organizationId","grantType","providerApiKeys","redirectUris","disabled","authorId","authorName","createdBy","labels","modelPoolIds","createdAt","updatedAt","billingTeam","spendCap","clientSecret"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["oauthClient:create"]}}},"/api/llm-oauth-clients/{id}":{"put":{"operationId":"updateLlmOauthClient","tags":["LLM OAuth Clients"],"description":"Update an LLM OAuth client\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256},"serviceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"grantType":{"default":"client_credentials","type":"string","enum":["client_credentials","authorization_code"]},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["provider","providerApiKeyId"]}},"redirectUris":{"type":"array","items":{"type":"string","format":"uri"}},"labels":{"description":"Key/value labels. Omit to leave existing labels untouched; pass [] to clear them.","type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"billingTeamId":{"description":"Team a client_credentials client's spend is charged to. Omit to keep it; null stops billing a team. Signed-in users of an authorization_code client pay for themselves.","nullable":true,"type":"string"},"spendCap":{"description":"Spend cap for the whole client, stored as a token_cost limit on it. Omit to keep it; null removes it.","nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]}},"required":["limitValue","cleanupInterval"]}},"required":["name"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"clientId":{"type":"string"},"serviceAccountId":{"nullable":true,"type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"grantType":{"type":"string","enum":["client_credentials","authorization_code"]},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyName":{"type":"string"}},"required":["provider","providerApiKeyId","providerApiKeyName"],"additionalProperties":false}},"redirectUris":{"type":"array","items":{"type":"string"}},"disabled":{"type":"boolean"},"authorId":{"nullable":true,"type":"string"},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"modelPoolIds":{"default":[],"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"billingTeam":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"limitId":{"type":"string"},"currentUsage":{"type":"number"},"estimatedUsage":{"type":"boolean"}},"required":["limitValue","cleanupInterval","limitId","currentUsage","estimatedUsage"],"additionalProperties":false}},"required":["id","clientId","serviceAccountId","name","organizationId","grantType","providerApiKeys","redirectUris","disabled","authorId","authorName","createdBy","labels","modelPoolIds","createdAt","updatedAt","billingTeam","spendCap"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"delete":{"operationId":"deleteLlmOauthClient","tags":["LLM OAuth Clients"],"description":"Delete an LLM OAuth client\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-oauth-clients/{id}/rotate-secret":{"post":{"operationId":"rotateLlmOauthClientSecret","tags":["LLM OAuth Clients"],"description":"Rotate an LLM OAuth client's client secret\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"clientId":{"type":"string"},"serviceAccountId":{"nullable":true,"type":"string"},"name":{"type":"string"},"organizationId":{"type":"string"},"grantType":{"type":"string","enum":["client_credentials","authorization_code"]},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyName":{"type":"string"}},"required":["provider","providerApiKeyId","providerApiKeyName"],"additionalProperties":false}},"redirectUris":{"type":"array","items":{"type":"string"}},"disabled":{"type":"boolean"},"authorId":{"nullable":true,"type":"string"},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"modelPoolIds":{"default":[],"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"billingTeam":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"limitId":{"type":"string"},"currentUsage":{"type":"number"},"estimatedUsage":{"type":"boolean"}},"required":["limitValue","cleanupInterval","limitId","currentUsage","estimatedUsage"],"additionalProperties":false},"clientSecret":{"type":"string"}},"required":["id","clientId","serviceAccountId","name","organizationId","grantType","providerApiKeys","redirectUris","disabled","authorId","authorName","createdBy","labels","modelPoolIds","createdAt","updatedAt","billingTeam","spendCap","clientSecret"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-oauth-clients/bulk":{"delete":{"operationId":"bulkDeleteLlmOauthClients","tags":["LLM OAuth Clients"],"description":"Delete several LLM OAuth clients in one request. Each id is authorized exactly as the single-client delete authorizes its own, so a client the caller cannot see or manage is reported in `failed` while the rest of the batch still applies.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string"},"description":"Ids to act on. Duplicates are collapsed."}},"required":["ids"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-provider-api-keys/labels/keys":{"get":{"operationId":"llmProviderApiKeyLabelKeys","tags":["LLM Provider API Keys"],"description":"Get all label keys used by model provider API keys\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:read`](/docs/reference/permissions#llmProviderApiKey:read): Open LLM provider API keys","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:read"]}}},"/api/llm-provider-api-keys/labels/values":{"get":{"operationId":"llmProviderApiKeyLabelValues","tags":["LLM Provider API Keys"],"description":"Get all label values used by model provider API keys\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:read`](/docs/reference/permissions#llmProviderApiKey:read): Open LLM provider API keys","parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":false,"description":"Filter values by label key"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:read"]}}},"/api/llm-provider-api-keys":{"get":{"operationId":"getLlmProviderApiKeys","tags":["LLM Provider API Keys"],"description":"Get all LLM provider API keys visible to the current user based on scope access\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"in":"query","name":"provider","required":false},{"schema":{"type":"string"},"in":"query","name":"labels","required":false,"description":"Filter by labels. Format: key1:val1|val2;key2:val3. AND across keys, OR within values."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","enum":["mine","shared","org","others"]}},"in":"query","name":"access","required":false,"description":"Keep only objects the caller reaches in one of these ways (comma-separated): mine (authored by the caller), shared (shared with the caller or one of their teams), org (shared with the organization), others (visible only through organization-wide authority). Omit for every readable object."},{"schema":{"minItems":1,"type":"array","items":{"type":"string"}},"in":"query","name":"sharedWith","required":false,"description":"Keep only objects whose own permissions grant read to one of these subjects (comma-separated): org (the whole organization), role:<roleId>, team:<teamId>, user:<userId>, serviceAccount:<serviceAccountId>. Grants inherited from organization-wide permissions do not count. Omit for no filtering."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"owner","required":false,"description":"Keep only objects authored by one of these user IDs (comma-separated). Narrows the rows the caller can already read. Omit for no filtering."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"secretId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scope":{"type":"string","enum":["personal","team","org"]},"userId":{"nullable":true,"type":"string"},"teamId":{"nullable":true,"type":"string"},"baseUrl":{"nullable":true,"type":"string"},"inferenceBaseUrl":{"nullable":true,"type":"string"},"extraHeaders":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"isSystem":{"type":"boolean"},"isPrimary":{"type":"boolean"},"requiresReauthentication":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"teamName":{"nullable":true,"type":"string"},"userName":{"nullable":true,"type":"string"},"secretStorageType":{"type":"string","enum":["vault","database","none"]},"bestModelId":{"nullable":true,"type":"string"},"isAgentKey":{"type":"boolean"},"subscriptionKind":{"nullable":true,"type":"string","enum":["chatgpt","github-copilot","microsoft-365-copilot","x-premium"]},"isGithubAppKey":{"type":"boolean"},"githubOrganization":{"nullable":true,"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}}},"required":["id","organizationId","name","provider","secretId","scope","userId","teamId","baseUrl","inferenceBaseUrl","extraHeaders","isSystem","isPrimary","createdByServiceAccountId","createdAt","updatedAt","createdBy"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"createLlmProviderApiKey","tags":["LLM Provider API Keys"],"description":"Create a new LLM provider API key with specified visibility\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"apiKey":{"type":"string","minLength":1},"baseUrl":{"nullable":true,"type":"string","format":"uri"},"inferenceBaseUrl":{"nullable":true,"type":"string","format":"uri"},"extraHeaders":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"shared":{"default":false,"description":"Omitted or false: the key is yours alone (you own it and only you use it). True: a shared key with no owner, used by whoever its initialGrants reach. A service account cannot own a key, so it must send true.","type":"boolean"},"isPrimary":{"type":"boolean"},"awsAccessKeyId":{"type":"string","minLength":1},"awsSecretAccessKey":{"type":"string","minLength":1},"awsSessionToken":{"type":"string","minLength":1},"labels":{"description":"Key/value labels. Omit to leave existing labels untouched; pass [] to clear them.","type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"initialGrants":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"subject":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["serviceAccount"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["role"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"id":{"type":"string","enum":["*"]}},"required":["type","id"]}]},"actions":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["read","use","update","delete","manage-permissions","configure-deployment-spec"]}}},"required":["subject","actions"]}}},"required":["name","provider"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"secretId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scope":{"type":"string","enum":["personal","team","org"]},"userId":{"nullable":true,"type":"string"},"teamId":{"nullable":true,"type":"string"},"baseUrl":{"nullable":true,"type":"string"},"inferenceBaseUrl":{"nullable":true,"type":"string"},"extraHeaders":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"isSystem":{"type":"boolean"},"isPrimary":{"type":"boolean"},"requiresReauthentication":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"teamName":{"nullable":true,"type":"string"},"userName":{"nullable":true,"type":"string"},"secretStorageType":{"type":"string","enum":["vault","database","none"]},"bestModelId":{"nullable":true,"type":"string"},"isAgentKey":{"type":"boolean"},"subscriptionKind":{"nullable":true,"type":"string","enum":["chatgpt","github-copilot","microsoft-365-copilot","x-premium"]},"isGithubAppKey":{"type":"boolean"},"githubOrganization":{"nullable":true,"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}}},"required":["id","organizationId","name","provider","secretId","scope","userId","teamId","baseUrl","inferenceBaseUrl","extraHeaders","isSystem","isPrimary","createdByServiceAccountId","createdAt","updatedAt","createdBy"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-provider-api-keys/available":{"get":{"operationId":"getAvailableLlmProviderApiKeys","tags":["LLM Provider API Keys"],"description":"Get LLM provider API keys available for the current user to use\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:read`](/docs/reference/permissions#llmProviderApiKey:read): Open LLM provider API keys","parameters":[{"schema":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"in":"query","name":"provider","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"includeKeyId","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"secretId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scope":{"type":"string","enum":["personal","team","org"]},"userId":{"nullable":true,"type":"string"},"teamId":{"nullable":true,"type":"string"},"baseUrl":{"nullable":true,"type":"string"},"inferenceBaseUrl":{"nullable":true,"type":"string"},"extraHeaders":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"isSystem":{"type":"boolean"},"isPrimary":{"type":"boolean"},"requiresReauthentication":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"teamName":{"nullable":true,"type":"string"},"userName":{"nullable":true,"type":"string"},"secretStorageType":{"type":"string","enum":["vault","database","none"]},"bestModelId":{"nullable":true,"type":"string"},"isAgentKey":{"type":"boolean"},"subscriptionKind":{"nullable":true,"type":"string","enum":["chatgpt","github-copilot","microsoft-365-copilot","x-premium"]},"isGithubAppKey":{"type":"boolean"},"githubOrganization":{"nullable":true,"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}}},"required":["id","organizationId","name","provider","secretId","scope","userId","teamId","baseUrl","inferenceBaseUrl","extraHeaders","isSystem","isPrimary","createdByServiceAccountId","createdAt","updatedAt","createdBy"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:read"]}}},"/api/llm-provider-api-keys/{id}":{"get":{"operationId":"getLlmProviderApiKey","tags":["LLM Provider API Keys"],"description":"Get a specific LLM provider API key\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"secretId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scope":{"type":"string","enum":["personal","team","org"]},"userId":{"nullable":true,"type":"string"},"teamId":{"nullable":true,"type":"string"},"baseUrl":{"nullable":true,"type":"string"},"inferenceBaseUrl":{"nullable":true,"type":"string"},"extraHeaders":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"isSystem":{"type":"boolean"},"isPrimary":{"type":"boolean"},"requiresReauthentication":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"teamName":{"nullable":true,"type":"string"},"userName":{"nullable":true,"type":"string"},"secretStorageType":{"type":"string","enum":["vault","database","none"]},"bestModelId":{"nullable":true,"type":"string"},"isAgentKey":{"type":"boolean"},"subscriptionKind":{"nullable":true,"type":"string","enum":["chatgpt","github-copilot","microsoft-365-copilot","x-premium"]},"isGithubAppKey":{"type":"boolean"},"githubOrganization":{"nullable":true,"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}}},"required":["id","organizationId","name","provider","secretId","scope","userId","teamId","baseUrl","inferenceBaseUrl","extraHeaders","isSystem","isPrimary","createdByServiceAccountId","createdAt","updatedAt","createdBy"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"patch":{"operationId":"updateLlmProviderApiKey","tags":["LLM Provider API Keys"],"description":"Update an LLM provider API key (name, API key value, or runtime connection settings)\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"apiKey":{"type":"string","minLength":1},"baseUrl":{"nullable":true,"type":"string","format":"uri"},"inferenceBaseUrl":{"nullable":true,"type":"string","format":"uri"},"extraHeaders":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"isPrimary":{"type":"boolean"},"awsAccessKeyId":{"type":"string","minLength":1},"awsSecretAccessKey":{"type":"string","minLength":1},"awsSessionToken":{"type":"string","minLength":1},"labels":{"description":"Key/value labels. Omit to leave existing labels untouched; pass [] to clear them.","type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"secretId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scope":{"type":"string","enum":["personal","team","org"]},"userId":{"nullable":true,"type":"string"},"teamId":{"nullable":true,"type":"string"},"baseUrl":{"nullable":true,"type":"string"},"inferenceBaseUrl":{"nullable":true,"type":"string"},"extraHeaders":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"isSystem":{"type":"boolean"},"isPrimary":{"type":"boolean"},"requiresReauthentication":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"teamName":{"nullable":true,"type":"string"},"userName":{"nullable":true,"type":"string"},"secretStorageType":{"type":"string","enum":["vault","database","none"]},"bestModelId":{"nullable":true,"type":"string"},"isAgentKey":{"type":"boolean"},"subscriptionKind":{"nullable":true,"type":"string","enum":["chatgpt","github-copilot","microsoft-365-copilot","x-premium"]},"isGithubAppKey":{"type":"boolean"},"githubOrganization":{"nullable":true,"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}}},"required":["id","organizationId","name","provider","secretId","scope","userId","teamId","baseUrl","inferenceBaseUrl","extraHeaders","isSystem","isPrimary","createdByServiceAccountId","createdAt","updatedAt","createdBy"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"delete":{"operationId":"deleteLlmProviderApiKey","tags":["LLM Provider API Keys"],"description":"Delete an LLM provider API key. Virtual API keys and OAuth clients that mapped only this key are deleted with it; those that also map other provider keys keep those. Knowledge base settings that used the key are cleared.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-provider-api-keys/{id}/reconnect":{"post":{"operationId":"reconnectLlmProviderApiKey","tags":["LLM Provider API Keys"],"description":"Re-authenticate the caller's own personal subscription key in place, rotating its stored credential\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1}},"required":["apiKey"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"secretId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scope":{"type":"string","enum":["personal","team","org"]},"userId":{"nullable":true,"type":"string"},"teamId":{"nullable":true,"type":"string"},"baseUrl":{"nullable":true,"type":"string"},"inferenceBaseUrl":{"nullable":true,"type":"string"},"extraHeaders":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"isSystem":{"type":"boolean"},"isPrimary":{"type":"boolean"},"requiresReauthentication":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"teamName":{"nullable":true,"type":"string"},"userName":{"nullable":true,"type":"string"},"secretStorageType":{"type":"string","enum":["vault","database","none"]},"bestModelId":{"nullable":true,"type":"string"},"isAgentKey":{"type":"boolean"},"subscriptionKind":{"nullable":true,"type":"string","enum":["chatgpt","github-copilot","microsoft-365-copilot","x-premium"]},"isGithubAppKey":{"type":"boolean"},"githubOrganization":{"nullable":true,"type":"string"},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}}},"required":["id","organizationId","name","provider","secretId","scope","userId","teamId","baseUrl","inferenceBaseUrl","extraHeaders","isSystem","isPrimary","createdByServiceAccountId","createdAt","updatedAt","createdBy"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-provider-api-keys/bulk":{"delete":{"operationId":"bulkDeleteLlmProviderApiKeys","tags":["LLM Provider API Keys"],"description":"Delete several LLM provider API keys in one request. Keys outside the caller's organization and protected system keys are reported in `failed` while the remaining keys are deleted. Virtual API keys and OAuth clients that mapped only a deleted key are deleted with it; those that also map other provider keys keep those. Knowledge base settings that used a deleted key are cleared.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["ids"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-proxy":{"get":{"operationId":"getLlmProxy","tags":["LLM Proxy"],"description":"Get the LLM Proxy\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProxy:read`](/docs/reference/permissions#llmProxy:read): View the LLM Proxy and its connection details","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"identityProviderId":{"nullable":true,"type":"string"}},"required":["id","identityProviderId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProxy:read"]}},"patch":{"operationId":"updateLlmProxy","tags":["LLM Proxy"],"description":"Update the LLM Proxy configuration\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProxy:update`](/docs/reference/permissions#llmProxy:update): Modify LLM Proxy configuration","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"identityProviderId":{"nullable":true,"type":"string"}},"required":["identityProviderId"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"identityProviderId":{"nullable":true,"type":"string"}},"required":["id","identityProviderId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProxy:update"]}}},"/api/microsoft-365-copilot-auth/device/start":{"post":{"operationId":"microsoft365CopilotDeviceAuthStart","tags":["Microsoft 365 Copilot Auth"],"description":"Start the Entra ID device flow used to connect a Microsoft 365 Copilot account\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"deviceCode":{"type":"string"},"userCode":{"type":"string"},"verificationUri":{"type":"string"},"interval":{"type":"number"},"expiresIn":{"type":"number"}},"required":["deviceCode","userCode","verificationUri","interval","expiresIn"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/microsoft-365-copilot-auth/device/poll":{"post":{"operationId":"microsoft365CopilotDeviceAuthPoll","tags":["Microsoft 365 Copilot Auth"],"description":"Poll the Entra ID device flow once; returns the refresh token when the user has authorized\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"deviceCode":{"type":"string","minLength":1}},"required":["deviceCode"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["pending"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["slow_down"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["complete"]},"refreshToken":{"type":"string"}},"required":["status","refreshToken"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/v1/microsoft-365-copilot/chat/completions":{"post":{"operationId":"microsoft365CopilotChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Microsoft 365 Copilot (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/microsoft-365-copilot/{agentId}/chat/completions":{"post":{"operationId":"microsoft365CopilotChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Microsoft 365 Copilot for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/microsoft-365-copilot/models":{"get":{"operationId":"microsoft365CopilotListModelsWithDefaultAgent","tags":["LLM Proxy"],"description":"List Microsoft 365 Copilot models (default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string"},"in":"header","name":"authorization","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/microsoft-365-copilot/{agentId}/models":{"get":{"operationId":"microsoft365CopilotListModelsWithAgent","tags":["LLM Proxy"],"description":"List Microsoft 365 Copilot models (specific agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/minimax/chat/completions":{"post":{"operationId":"minimaxChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with MiniMax (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinimaxChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"authorization","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinimaxChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/minimax/{agentId}/chat/completions":{"post":{"operationId":"minimaxChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with MiniMax for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinimaxChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinimaxChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/mistral/embeddings":{"post":{"operationId":"mistralEmbeddingsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create embeddings with Mistral (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/mistral/{agentId}/embeddings":{"post":{"operationId":"mistralEmbeddingsWithAgent","tags":["LLM Proxy"],"description":"Create embeddings with Mistral for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/mistral/chat/completions":{"post":{"operationId":"mistralChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Mistral (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MistralChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/mistral/{agentId}/chat/completions":{"post":{"operationId":"mistralChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Mistral for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MistralChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/model-pools":{"get":{"operationId":"getModelPools","tags":["Model Pools"],"description":"List the organization's model pools with their members, and which members are benched after a failure\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmModel:read`](/docs/reference/permissions#llmModel:read): View synced LLM models and capabilities","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"streamTimeoutSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"timeoutSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"cooldownSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"poolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelId":{"type":"string"},"priority":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"weight":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"providerApiKeyName":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"benchedUntil":{"nullable":true,"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"benchReason":{"nullable":true,"type":"string"}},"required":["id","poolId","providerApiKeyId","modelId","priority","weight","enabled","createdAt","providerApiKeyName","provider","benchedUntil","benchReason"],"additionalProperties":false}},"virtualApiKeyIds":{"type":"array","items":{"type":"string"}}},"required":["id","organizationId","name","streamTimeoutSeconds","timeoutSeconds","cooldownSeconds","createdAt","updatedAt","members","virtualApiKeyIds"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmModel:read"]}},"post":{"operationId":"createModelPool","tags":["Model Pools"],"description":"Create a model pool: a model name served by provider keys on any provider, each with its own model id, tried by priority and split by weight\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmModel:update`](/docs/reference/permissions#llmModel:update): Sync the model catalog and see every model, including ones not shared with you","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":512},"members":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelId":{"type":"string","minLength":1,"maxLength":512},"priority":{"default":1,"type":"integer","minimum":1,"maximum":100},"weight":{"default":1,"type":"integer","minimum":1,"maximum":1000},"enabled":{"default":true,"type":"boolean"}},"required":["providerApiKeyId","modelId"]}},"streamTimeoutSeconds":{"nullable":true,"type":"integer","minimum":1,"maximum":1800},"timeoutSeconds":{"nullable":true,"type":"integer","minimum":1,"maximum":1800},"cooldownSeconds":{"nullable":true,"type":"integer","minimum":1,"maximum":3600}},"required":["name","members"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"streamTimeoutSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"timeoutSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"cooldownSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"poolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelId":{"type":"string"},"priority":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"weight":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"providerApiKeyName":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]}},"required":["id","poolId","providerApiKeyId","modelId","priority","weight","enabled","createdAt","providerApiKeyName","provider"],"additionalProperties":false}},"virtualApiKeyIds":{"type":"array","items":{"type":"string"}}},"required":["id","organizationId","name","streamTimeoutSeconds","timeoutSeconds","cooldownSeconds","createdAt","updatedAt","members","virtualApiKeyIds"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmModel:update"]}}},"/api/model-pools/available":{"get":{"operationId":"getAvailableModelPools","tags":["Model Pools"],"description":"List the model pools the current user can pick in chat: those with a member on a key the user may use\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmProviderApiKey:read`](/docs/reference/permissions#llmProviderApiKey:read): Open LLM provider API keys","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"providers":{"type":"array","items":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]}}},"required":["id","name","providers"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmProviderApiKey:read"]}}},"/api/model-pools/{id}":{"put":{"operationId":"updateModelPool","tags":["Model Pools"],"description":"Replace a model pool's settings and members\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmModel:update`](/docs/reference/permissions#llmModel:update): Sync the model catalog and see every model, including ones not shared with you","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":512},"members":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelId":{"type":"string","minLength":1,"maxLength":512},"priority":{"default":1,"type":"integer","minimum":1,"maximum":100},"weight":{"default":1,"type":"integer","minimum":1,"maximum":1000},"enabled":{"default":true,"type":"boolean"}},"required":["providerApiKeyId","modelId"]}},"streamTimeoutSeconds":{"nullable":true,"type":"integer","minimum":1,"maximum":1800},"timeoutSeconds":{"nullable":true,"type":"integer","minimum":1,"maximum":1800},"cooldownSeconds":{"nullable":true,"type":"integer","minimum":1,"maximum":3600}},"required":["name","members"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"streamTimeoutSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"timeoutSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"cooldownSeconds":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"poolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelId":{"type":"string"},"priority":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"weight":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"providerApiKeyName":{"type":"string"},"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]}},"required":["id","poolId","providerApiKeyId","modelId","priority","weight","enabled","createdAt","providerApiKeyName","provider"],"additionalProperties":false}},"virtualApiKeyIds":{"type":"array","items":{"type":"string"}}},"required":["id","organizationId","name","streamTimeoutSeconds","timeoutSeconds","cooldownSeconds","createdAt","updatedAt","members","virtualApiKeyIds"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmModel:update"]}},"delete":{"operationId":"deleteModelPool","tags":["Model Pools"],"description":"Delete a model pool\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmModel:update`](/docs/reference/permissions#llmModel:update): Sync the model catalog and see every model, including ones not shared with you","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmModel:update"]}}},"/v1/unified-model/images/edits":{"post":{"operationId":"modelRouterImageEditsWithDefaultAgent","tags":["LLM Proxy"],"description":"Edit images through a mapped OpenAI, Azure or Gemini image model using bounded multipart reference images and an optional mask.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"anyOf":[{"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},{"type":"null"}]},"quality":{"anyOf":[{"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},{"type":"null"}]},"background":{"anyOf":[{"type":"string","enum":["auto","transparent","opaque"]},{"type":"null"}]},"output_format":{"anyOf":[{"type":"string","enum":["png","jpeg","webp"]},{"type":"null"}]},"response_format":{"anyOf":[{"type":"string","enum":["url","b64_json"]},{"type":"null"}]},"user":{"type":"string"},"safety_identifier":{"type":["string","null"]},"n":{"anyOf":[{"type":"integer","minimum":1,"maximum":10},{"type":"null"}]},"output_compression":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"input_fidelity":{"anyOf":[{"type":"string","enum":["high","low"]},{"type":"null"}]},"stream":{"anyOf":[{"type":"boolean","enum":[false]},{"type":"null"}]},"image":{"type":"array","items":{"type":"string","format":"binary"},"minItems":1,"maxItems":16,"description":"PNG/JPEG/WebP reference files, each smaller than 50 MiB."},"mask":{"type":"string","format":"binary","description":"Optional PNG alpha mask smaller than 4 MiB, matching the first image dimensions."}},"required":["model","prompt","image"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/{agentId}/images/edits":{"post":{"operationId":"modelRouterImageEditsWithAgent","tags":["LLM Proxy"],"description":"Edit images through a mapped OpenAI, Azure or Gemini image model using bounded multipart reference images and an optional mask.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"anyOf":[{"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},{"type":"null"}]},"quality":{"anyOf":[{"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},{"type":"null"}]},"background":{"anyOf":[{"type":"string","enum":["auto","transparent","opaque"]},{"type":"null"}]},"output_format":{"anyOf":[{"type":"string","enum":["png","jpeg","webp"]},{"type":"null"}]},"response_format":{"anyOf":[{"type":"string","enum":["url","b64_json"]},{"type":"null"}]},"user":{"type":"string"},"safety_identifier":{"type":["string","null"]},"n":{"anyOf":[{"type":"integer","minimum":1,"maximum":10},{"type":"null"}]},"output_compression":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"input_fidelity":{"anyOf":[{"type":"string","enum":["high","low"]},{"type":"null"}]},"stream":{"anyOf":[{"type":"boolean","enum":[false]},{"type":"null"}]},"image":{"type":"array","items":{"type":"string","format":"binary"},"minItems":1,"maxItems":16,"description":"PNG/JPEG/WebP reference files, each smaller than 50 MiB."},"mask":{"type":"string","format":"binary","description":"Optional PNG alpha mask smaller than 4 MiB, matching the first image dimensions."}},"required":["model","prompt","image"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/audio/speech":{"post":{"operationId":"modelRouterAudioSpeechWithDefaultAgent","tags":["LLM Proxy"],"description":"Use mapped Azure or OpenAI credentials for governed native audio responses. Raw audio is excluded from interaction logs.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"input":{"type":"string","minLength":1,"maxLength":4096},"voice":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":512}},"required":["id"]}]},"instructions":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["mp3","opus","aac","flac","wav","pcm"]},"speed":{"type":"number","minimum":0.25,"maximum":4},"stream_format":{"type":"string","enum":["audio","sse"]}},"required":["model","input","voice"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/unified-model/{agentId}/audio/speech":{"post":{"operationId":"modelRouterAudioSpeechWithAgent","tags":["LLM Proxy"],"description":"Use mapped Azure or OpenAI credentials for governed native audio responses. Raw audio is excluded from interaction logs.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"input":{"type":"string","minLength":1,"maxLength":4096},"voice":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":512}},"required":["id"]}]},"instructions":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["mp3","opus","aac","flac","wav","pcm"]},"speed":{"type":"number","minimum":0.25,"maximum":4},"stream_format":{"type":"string","enum":["audio","sse"]}},"required":["model","input","voice"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/unified-model/audio/transcriptions":{"post":{"operationId":"modelRouterAudioTranscriptionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Use mapped Azure or OpenAI credentials for governed native audio responses. Raw audio is excluded from interaction logs.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/unified-model/{agentId}/audio/transcriptions":{"post":{"operationId":"modelRouterAudioTranscriptionsWithAgent","tags":["LLM Proxy"],"description":"Use mapped Azure or OpenAI credentials for governed native audio responses. Raw audio is excluded from interaction logs.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/unified-model/audio/translations":{"post":{"operationId":"modelRouterAudioTranslationsWithDefaultAgent","tags":["LLM Proxy"],"description":"Use mapped Azure or OpenAI credentials for governed native audio responses. Raw audio is excluded from interaction logs.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/unified-model/{agentId}/audio/translations":{"post":{"operationId":"modelRouterAudioTranslationsWithAgent","tags":["LLM Proxy"],"description":"Use mapped Azure or OpenAI credentials for governed native audio responses. Raw audio is excluded from interaction logs.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response"}}}},"/v1/unified-model/images/generations":{"post":{"operationId":"modelRouterImagesWithDefaultAgent","tags":["LLM Proxy"],"description":"Generate images through the OpenAI-compatible Unified Model API. Unsupported provider parameters and streaming are rejected.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"nullable":true,"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},"quality":{"nullable":true,"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},"background":{"nullable":true,"type":"string","enum":["auto","transparent","opaque"]},"output_format":{"nullable":true,"type":"string","enum":["png","jpeg","webp"]},"response_format":{"nullable":true,"type":"string","enum":["url","b64_json"]},"user":{"type":"string"},"safety_identifier":{"nullable":true,"type":"string"},"n":{"nullable":true,"type":"integer","minimum":1,"maximum":10},"output_compression":{"nullable":true,"type":"integer","minimum":0,"maximum":100},"moderation":{"nullable":true,"type":"string","enum":["auto","low"]},"style":{"nullable":true,"type":"string","enum":["vivid","natural"]},"stream":{"nullable":true,"type":"boolean","enum":[false]}},"required":["model","prompt"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/{agentId}/images/generations":{"post":{"operationId":"modelRouterImagesWithAgent","tags":["LLM Proxy"],"description":"Generate images through the OpenAI-compatible Unified Model API. Unsupported provider parameters and streaming are rejected.\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"nullable":true,"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},"quality":{"nullable":true,"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},"background":{"nullable":true,"type":"string","enum":["auto","transparent","opaque"]},"output_format":{"nullable":true,"type":"string","enum":["png","jpeg","webp"]},"response_format":{"nullable":true,"type":"string","enum":["url","b64_json"]},"user":{"type":"string"},"safety_identifier":{"nullable":true,"type":"string"},"n":{"nullable":true,"type":"integer","minimum":1,"maximum":10},"output_compression":{"nullable":true,"type":"integer","minimum":0,"maximum":100},"moderation":{"nullable":true,"type":"string","enum":["auto","low"]},"style":{"nullable":true,"type":"string","enum":["vivid","natural"]},"stream":{"nullable":true,"type":"boolean","enum":[false]}},"required":["model","prompt"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/models":{"get":{"operationId":"modelRouterListModelsWithDefaultAgent","tags":["LLM Proxy"],"description":"List OpenAI-compatible model ids available through the Unified Model API (default LLM proxy)\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/{agentId}/models":{"get":{"operationId":"modelRouterListModelsWithAgent","tags":["LLM Proxy"],"description":"List OpenAI-compatible model ids available through the Unified Model API (specific attribution Agent)\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/responses":{"post":{"operationId":"modelRouterResponsesWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a response through the OpenAI-compatible Unified Model API (default LLM proxy)\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/{agentId}/responses":{"post":{"operationId":"modelRouterResponsesWithAgent","tags":["LLM Proxy"],"description":"Create a response through the OpenAI-compatible Unified Model API (specific attribution Agent)\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/embeddings":{"post":{"operationId":"modelRouterEmbeddingsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create embeddings through the OpenAI-compatible Unified Model API (default LLM proxy)\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"string"}]},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/{agentId}/embeddings":{"post":{"operationId":"modelRouterEmbeddingsWithAgent","tags":["LLM Proxy"],"description":"Create embeddings through the OpenAI-compatible Unified Model API (specific attribution Agent)\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"string"}]},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/chat/completions":{"post":{"operationId":"modelRouterChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion through the OpenAI-compatible Unified Model API (default LLM proxy)\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"},"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"cachedContent":{"type":"string"}},"required":["model","messages"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string"},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","model"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/unified-model/{agentId}/chat/completions":{"post":{"operationId":"modelRouterChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion through the OpenAI-compatible Unified Model API (specific attribution Agent)\n\nAuthentication:\n\nRequires a mapped standard Virtual API Key or LLM OAuth access token, sent as a Bearer token. Provider API keys, passthrough keys, and external identity-provider JWTs are not accepted. See [Unified Model API](/docs/llm-proxy/unified-model).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"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","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"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"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"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"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"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"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"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"],"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 grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"},"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"cachedContent":{"type":"string"}},"required":["model","messages"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"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"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string"},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","model"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/ollama-native/api/chat":{"post":{"operationId":"ollamaNativeChatWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Ollama native /api/chat (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaNativeChatRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Ollama (typically not required)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaNativeChatResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/ollama-native/{agentId}/api/chat":{"post":{"operationId":"ollamaNativeChatWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Ollama native /api/chat for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaNativeChatRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Ollama (typically not required)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaNativeChatResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/ollama/embeddings":{"post":{"operationId":"ollamaEmbeddingsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create embeddings with Ollama (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/ollama/{agentId}/embeddings":{"post":{"operationId":"ollamaEmbeddingsWithAgent","tags":["LLM Proxy"],"description":"Create embeddings with Ollama for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/ollama/chat/completions":{"post":{"operationId":"ollamaChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Ollama (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Ollama (typically not required)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/ollama/{agentId}/chat/completions":{"post":{"operationId":"ollamaChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Ollama for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for Ollama (typically not required)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OllamaChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/audio/speech":{"post":{"operationId":"openAiAudioSpeechWithDefaultAgent","tags":["LLM Proxy"],"description":"Generate native audio bytes or audio SSE through the governed proxy. Usage and audio pricing may be unavailable.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"input":{"type":"string","minLength":1,"maxLength":4096},"voice":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":512}},"required":["id"]}]},"instructions":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["mp3","opus","aac","flac","wav","pcm"]},"speed":{"type":"number","minimum":0.25,"maximum":4},"stream_format":{"type":"string","enum":["audio","sse"]}},"required":["model","input","voice"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/openai/{agentId}/audio/speech":{"post":{"operationId":"openAiAudioSpeechWithAgent","tags":["LLM Proxy"],"description":"Generate native audio bytes or audio SSE through the governed proxy. Usage and audio pricing may be unavailable.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"input":{"type":"string","minLength":1,"maxLength":4096},"voice":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":512}},"required":["id"]}]},"instructions":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["mp3","opus","aac","flac","wav","pcm"]},"speed":{"type":"number","minimum":0.25,"maximum":4},"stream_format":{"type":"string","enum":["audio","sse"]}},"required":["model","input","voice"],"additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/openai/audio/transcriptions":{"post":{"operationId":"openAiAudioTranscriptionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Upload multipart audio with file and model fields. Returns the provider's native transcript bytes or supported SSE. Raw audio is never retained in interaction logs.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/openai/{agentId}/audio/transcriptions":{"post":{"operationId":"openAiAudioTranscriptionsWithAgent","tags":["LLM Proxy"],"description":"Upload multipart audio with file and model fields. Returns the provider's native transcript bytes or supported SSE. Raw audio is never retained in interaction logs.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/openai/audio/translations":{"post":{"operationId":"openAiAudioTranslationsWithDefaultAgent","tags":["LLM Proxy"],"description":"Upload multipart audio with file and model fields. Returns the provider's native transcript bytes or supported SSE. Raw audio is never retained in interaction logs.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"responses":{"200":{"description":"Default Response"}}}},"/v1/openai/{agentId}/audio/translations":{"post":{"operationId":"openAiAudioTranslationsWithAgent","tags":["LLM Proxy"],"description":"Upload multipart audio with file and model fields. Returns the provider's native transcript bytes or supported SSE. Raw audio is never retained in interaction logs.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1,"maxLength":512},"language":{"type":"string","minLength":1,"maxLength":64},"prompt":{"type":"string","maxLength":16384},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt","diarized_json"]},"temperature":{"type":"number","minimum":0,"maximum":1},"stream":{"type":"boolean"},"include":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"timestamp_granularities":{"maxItems":2,"type":"array","items":{"type":"string","enum":["word","segment"]}},"known_speaker_names":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"known_speaker_references":{"maxItems":4,"type":"array","items":{"type":"string","minLength":1}},"languages":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"chunking_strategy":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["server_vad"]},"threshold":{"type":"number","minimum":0,"maximum":1},"prefix_padding_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"silence_duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["type"],"additionalProperties":false}]},"file":{"type":"string","format":"binary","description":"Audio file (maximum 25 MiB)"}},"required":["model","file"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v1/openai/images/generations":{"post":{"operationId":"openAiImagesWithDefaultAgent","tags":["LLM Proxy"],"description":"Generate images with OpenAI\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"nullable":true,"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},"quality":{"nullable":true,"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},"background":{"nullable":true,"type":"string","enum":["auto","transparent","opaque"]},"output_format":{"nullable":true,"type":"string","enum":["png","jpeg","webp"]},"response_format":{"nullable":true,"type":"string","enum":["url","b64_json"]},"user":{"type":"string"},"safety_identifier":{"nullable":true,"type":"string"},"n":{"nullable":true,"type":"integer","minimum":1,"maximum":10},"output_compression":{"nullable":true,"type":"integer","minimum":0,"maximum":100},"moderation":{"nullable":true,"type":"string","enum":["auto","low"]},"style":{"nullable":true,"type":"string","enum":["vivid","natural"]},"stream":{"nullable":true,"type":"boolean","enum":[false]}},"required":["model","prompt"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/{agentId}/images/generations":{"post":{"operationId":"openAiImagesWithAgent","tags":["LLM Proxy"],"description":"Generate images with OpenAI\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"nullable":true,"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},"quality":{"nullable":true,"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},"background":{"nullable":true,"type":"string","enum":["auto","transparent","opaque"]},"output_format":{"nullable":true,"type":"string","enum":["png","jpeg","webp"]},"response_format":{"nullable":true,"type":"string","enum":["url","b64_json"]},"user":{"type":"string"},"safety_identifier":{"nullable":true,"type":"string"},"n":{"nullable":true,"type":"integer","minimum":1,"maximum":10},"output_compression":{"nullable":true,"type":"integer","minimum":0,"maximum":100},"moderation":{"nullable":true,"type":"string","enum":["auto","low"]},"style":{"nullable":true,"type":"string","enum":["vivid","natural"]},"stream":{"nullable":true,"type":"boolean","enum":[false]}},"required":["model","prompt"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/images/edits":{"post":{"operationId":"openAiImageEditsWithDefaultAgent","tags":["LLM Proxy"],"description":"Edit images with OpenAI using bounded multipart image inputs and an optional PNG mask. Returns a complete image response; streaming is unsupported.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"anyOf":[{"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},{"type":"null"}]},"quality":{"anyOf":[{"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},{"type":"null"}]},"background":{"anyOf":[{"type":"string","enum":["auto","transparent","opaque"]},{"type":"null"}]},"output_format":{"anyOf":[{"type":"string","enum":["png","jpeg","webp"]},{"type":"null"}]},"response_format":{"anyOf":[{"type":"string","enum":["url","b64_json"]},{"type":"null"}]},"user":{"type":"string"},"safety_identifier":{"type":["string","null"]},"n":{"anyOf":[{"type":"integer","minimum":1,"maximum":10},{"type":"null"}]},"output_compression":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"input_fidelity":{"anyOf":[{"type":"string","enum":["high","low"]},{"type":"null"}]},"stream":{"anyOf":[{"type":"boolean","enum":[false]},{"type":"null"}]},"image":{"type":"array","items":{"type":"string","format":"binary"},"minItems":1,"maxItems":16,"description":"PNG/JPEG/WebP reference files, each smaller than 50 MiB."},"mask":{"type":"string","format":"binary","description":"Optional PNG alpha mask smaller than 4 MiB, matching the first image dimensions."}},"required":["model","prompt","image"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/{agentId}/images/edits":{"post":{"operationId":"openAiImageEditsWithAgent","tags":["LLM Proxy"],"description":"Edit images with OpenAI using bounded multipart image inputs and an optional PNG mask. Returns a complete image response; streaming is unsupported.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"model":{"type":"string","minLength":1},"prompt":{"type":"string","minLength":1},"size":{"anyOf":[{"type":"string","pattern":"^(auto|[1-9]\\d{0,4}x[1-9]\\d{0,4})$"},{"type":"null"}]},"quality":{"anyOf":[{"type":"string","enum":["auto","low","medium","high","xhigh","max","standard","hd"]},{"type":"null"}]},"background":{"anyOf":[{"type":"string","enum":["auto","transparent","opaque"]},{"type":"null"}]},"output_format":{"anyOf":[{"type":"string","enum":["png","jpeg","webp"]},{"type":"null"}]},"response_format":{"anyOf":[{"type":"string","enum":["url","b64_json"]},{"type":"null"}]},"user":{"type":"string"},"safety_identifier":{"type":["string","null"]},"n":{"anyOf":[{"type":"integer","minimum":1,"maximum":10},{"type":"null"}]},"output_compression":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"input_fidelity":{"anyOf":[{"type":"string","enum":["high","low"]},{"type":"null"}]},"stream":{"anyOf":[{"type":"boolean","enum":[false]},{"type":"null"}]},"image":{"type":"array","items":{"type":"string","format":"binary"},"minItems":1,"maxItems":16,"description":"PNG/JPEG/WebP reference files, each smaller than 50 MiB."},"mask":{"type":"string","format":"binary","description":"Optional PNG alpha mask smaller than 4 MiB, matching the first image dimensions."}},"required":["model","prompt","image"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"number"},"model":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"b64_json":{"type":"string"},"url":{"type":"string"},"revised_prompt":{"type":"string"}},"additionalProperties":false}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{}}},"required":["created"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/embeddings":{"post":{"operationId":"openAiEmbeddingsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create embeddings with OpenAI (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"string"}]},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/{agentId}/embeddings":{"post":{"operationId":"openAiEmbeddingsWithAgent","tags":["LLM Proxy"],"description":"Create embeddings with OpenAI for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"anyOf":[{"type":"array","items":{"type":"number"}},{"type":"string"}]},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/responses":{"post":{"operationId":"openAiResponsesWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a response with OpenAI (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/{agentId}/responses":{"post":{"operationId":"openAiResponsesWithAgent","tags":["LLM Proxy"],"description":"Create a response with OpenAI for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/responses/compact":{"post":{"operationId":"openAiResponsesCompactWithDefaultAgent","tags":["LLM Proxy"],"description":"Compact an OpenAI response (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"previous_response_id":{"nullable":true,"type":"string"},"prompt_cache_key":{"nullable":true,"type":"string"}},"required":["model"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response.compaction"]},"created_at":{"type":"number"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","output","usage"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/{agentId}/responses/compact":{"post":{"operationId":"openAiResponsesCompactWithAgent","tags":["LLM Proxy"],"description":"Compact an OpenAI response for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"previous_response_id":{"nullable":true,"type":"string"},"prompt_cache_key":{"nullable":true,"type":"string"}},"required":["model"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response.compaction"]},"created_at":{"type":"number"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","output","usage"],"additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/chat/completions":{"post":{"operationId":"openAiChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with OpenAI (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAiChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/{agentId}/chat/completions":{"post":{"operationId":"openAiChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with OpenAI for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAiChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/models":{"get":{"operationId":"openAiListModelsWithDefaultAgent","tags":["LLM Proxy"],"description":"List OpenAI models (default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string"},"in":"header","name":"authorization","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}},"models":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"display_name":{"type":"string"}},"required":["slug","display_name"],"additionalProperties":{}}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openai/{agentId}/models":{"get":{"operationId":"openAiListModelsWithAgent","tags":["LLM Proxy"],"description":"List OpenAI models (specific agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"number"},"owned_by":{"type":"string"}},"required":["id","object","created","owned_by"],"additionalProperties":false}},"models":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"display_name":{"type":"string"}},"required":["slug","display_name"],"additionalProperties":{}}}},"required":["object","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/openai-codex-auth/device/start":{"post":{"operationId":"openaiCodexDeviceAuthStart","tags":["OpenAI Codex Auth"],"description":"Start the ChatGPT/Codex OAuth device flow used to connect a ChatGPT subscription as an OpenAI provider credential\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"deviceAuthId":{"type":"string"},"userCode":{"type":"string"},"verificationUri":{"type":"string"},"interval":{"type":"number"},"expiresIn":{"type":"number"}},"required":["deviceAuthId","userCode","verificationUri","interval","expiresIn"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/openai-codex-auth/device/poll":{"post":{"operationId":"openaiCodexDeviceAuthPoll","tags":["OpenAI Codex Auth"],"description":"Poll the ChatGPT/Codex OAuth device flow once; returns the encoded provider credential when the user has authorized\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"deviceAuthId":{"type":"string","minLength":1},"userCode":{"type":"string","minLength":1}},"required":["deviceAuthId","userCode"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["pending"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["slow_down"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["complete"]},"credential":{"type":"string"}},"required":["status","credential"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/v1/openrouter/chat/completions":{"post":{"operationId":"openrouterChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with OpenRouter (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenrouterChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenrouterChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/openrouter/{agentId}/chat/completions":{"post":{"operationId":"openrouterChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with OpenRouter for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenrouterChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenrouterChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/perplexity/chat/completions":{"post":{"operationId":"perplexityChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Perplexity (uses default agent). Note: this endpoint does not support external tool calling; the /responses Agent API endpoint does.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerplexityChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerplexityChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/perplexity/{agentId}/chat/completions":{"post":{"operationId":"perplexityChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Perplexity for a specific agent. Note: this endpoint does not support external tool calling; the /responses Agent API endpoint does.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerplexityChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerplexityChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/perplexity/responses":{"post":{"operationId":"perplexityResponsesWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a response with the Perplexity Agent API (uses default agent).\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for the Perplexity Agent API"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/perplexity/{agentId}/responses":{"post":{"operationId":"perplexityResponsesWithAgent","tags":["LLM Proxy"],"description":"Create a response with the Perplexity Agent API for a specific agent.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for the Perplexity Agent API"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/llm-virtual-keys/labels/keys":{"get":{"operationId":"virtualApiKeyLabelKeys","tags":["Virtual API Keys"],"description":"Get all label keys used by virtual API keys\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmVirtualKey:read`](/docs/reference/permissions#llmVirtualKey:read): Open LLM virtual keys","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmVirtualKey:read"]}}},"/api/llm-virtual-keys/labels/values":{"get":{"operationId":"virtualApiKeyLabelValues","tags":["Virtual API Keys"],"description":"Get all label values used by virtual API keys\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmVirtualKey:read`](/docs/reference/permissions#llmVirtualKey:read): Open LLM virtual keys","parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":false,"description":"Filter values by label key"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmVirtualKey:read"]}}},"/api/llm-virtual-keys":{"get":{"operationId":"getAllVirtualApiKeys","tags":["Virtual API Keys"],"description":"Get virtual API keys visible to the current user, with provider key mappings\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"search","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"providerApiKeyId","required":false},{"schema":{"type":"string","enum":["standard","passthrough"]},"in":"query","name":"keyType","required":false},{"schema":{"type":"string","enum":["personal","team","org"]},"in":"query","name":"scope","required":false},{"schema":{"type":"string"},"in":"query","name":"labels","required":false,"description":"Filter by labels. Format: key1:val1|val2;key2:val3. AND across keys, OR within values."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","enum":["mine","shared","org","others"]}},"in":"query","name":"access","required":false,"description":"Keep only objects the caller reaches in one of these ways (comma-separated): mine (authored by the caller), shared (shared with the caller or one of their teams), org (shared with the organization), others (visible only through organization-wide authority). Omit for every readable object."},{"schema":{"minItems":1,"type":"array","items":{"type":"string"}},"in":"query","name":"sharedWith","required":false,"description":"Keep only objects whose own permissions grant read to one of these subjects (comma-separated): org (the whole organization), role:<roleId>, team:<teamId>, user:<userId>, serviceAccount:<serviceAccountId>. Grants inherited from organization-wide permissions do not count. Omit for no filtering."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"owner","required":false,"description":"Keep only objects authored by one of these user IDs (comma-separated). Narrows the rows the caller can already read. Omit for no filtering."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string","maxLength":256},"keyType":{"type":"string","enum":["standard","passthrough"]},"includeFutureProviders":{"type":"boolean"},"secretId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"tokenStart":{"type":"string","maxLength":16},"scope":{"type":"string","enum":["personal","team","org"]},"authorId":{"nullable":true,"type":"string"},"expiresAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"billingTeamId":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyName":{"type":"string"}},"required":["provider","providerApiKeyId","providerApiKeyName"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"billingTeam":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"limitId":{"type":"string"},"currentUsage":{"type":"number"},"estimatedUsage":{"type":"boolean"}},"required":["limitValue","cleanupInterval","limitId","currentUsage","estimatedUsage"],"additionalProperties":false}},"required":["id","organizationId","name","keyType","includeFutureProviders","secretId","tokenStart","scope","authorId","expiresAt","createdByServiceAccountId","billingTeamId","createdAt","lastUsedAt","teams","authorName","createdBy","providerApiKeys","labels","billingTeam","spendCap"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"currentPage":{"type":"integer","minimum":1,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"hasNext":{"type":"boolean"},"hasPrev":{"type":"boolean"}},"required":["currentPage","limit","total","totalPages","hasNext","hasPrev"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"createVirtualApiKey","tags":["Virtual API Keys"],"description":"Create a new virtual API key. Team admins creating a key for another member receive metadata only; the owner can retrieve its value.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`llmVirtualKey:create`](/docs/reference/permissions#llmVirtualKey:create): Create LLM virtual keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256},"keyType":{"default":"standard","type":"string","enum":["standard","passthrough"]},"expiresAt":{"nullable":true},"includeFutureProviders":{"type":"boolean"},"providerApiKeys":{"default":[],"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["provider","providerApiKeyId"]}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"billingTeamId":{"nullable":true,"type":"string"},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]}},"required":["limitValue","cleanupInterval"]},"modelPoolIds":{"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"ownerId":{"type":"string"},"initialGrants":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"subject":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["serviceAccount"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["role"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"id":{"type":"string","enum":["*"]}},"required":["type","id"]}]},"actions":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["read","use","update","delete","manage-permissions","configure-deployment-spec"]}}},"required":["subject","actions"]}}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string","maxLength":256},"keyType":{"type":"string","enum":["standard","passthrough"]},"includeFutureProviders":{"type":"boolean"},"secretId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"tokenStart":{"type":"string","maxLength":16},"scope":{"type":"string","enum":["personal","team","org"]},"authorId":{"nullable":true,"type":"string"},"expiresAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"billingTeamId":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"value":{"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyName":{"type":"string"}},"required":["provider","providerApiKeyId","providerApiKeyName"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"billingTeam":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"limitId":{"type":"string"},"currentUsage":{"type":"number"},"estimatedUsage":{"type":"boolean"}},"required":["limitValue","cleanupInterval","limitId","currentUsage","estimatedUsage"],"additionalProperties":false}},"required":["id","organizationId","name","keyType","includeFutureProviders","secretId","tokenStart","scope","authorId","expiresAt","createdByServiceAccountId","billingTeamId","createdAt","lastUsedAt","teams","authorName","createdBy","providerApiKeys","labels","billingTeam","spendCap"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["llmVirtualKey:create"]}}},"/api/llm-virtual-keys/{id}":{"get":{"operationId":"getVirtualApiKey","tags":["Virtual API Keys"],"description":"Get a virtual API key visible to the current user, with provider key mappings\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string","maxLength":256},"keyType":{"type":"string","enum":["standard","passthrough"]},"includeFutureProviders":{"type":"boolean"},"secretId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"tokenStart":{"type":"string","maxLength":16},"scope":{"type":"string","enum":["personal","team","org"]},"authorId":{"nullable":true,"type":"string"},"expiresAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"billingTeamId":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyName":{"type":"string"}},"required":["provider","providerApiKeyId","providerApiKeyName"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"billingTeam":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"limitId":{"type":"string"},"currentUsage":{"type":"number"},"estimatedUsage":{"type":"boolean"}},"required":["limitValue","cleanupInterval","limitId","currentUsage","estimatedUsage"],"additionalProperties":false}},"required":["id","organizationId","name","keyType","includeFutureProviders","secretId","tokenStart","scope","authorId","expiresAt","createdByServiceAccountId","billingTeamId","createdAt","lastUsedAt","teams","authorName","createdBy","providerApiKeys","labels","billingTeam","spendCap"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"patch":{"operationId":"updateVirtualApiKey","tags":["Virtual API Keys"],"description":"Update a virtual API key\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256},"keyType":{"default":"standard","type":"string","enum":["standard","passthrough"]},"expiresAt":{"nullable":true},"includeFutureProviders":{"type":"boolean"},"providerApiKeys":{"default":[],"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["provider","providerApiKeyId"]}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"billingTeamId":{"nullable":true,"type":"string"},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]}},"required":["limitValue","cleanupInterval"]},"modelPoolIds":{"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["name"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string","maxLength":256},"keyType":{"type":"string","enum":["standard","passthrough"]},"includeFutureProviders":{"type":"boolean"},"secretId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"tokenStart":{"type":"string","maxLength":16},"scope":{"type":"string","enum":["personal","team","org"]},"authorId":{"nullable":true,"type":"string"},"expiresAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"billingTeamId":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"providerApiKeys":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"providerApiKeyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"providerApiKeyName":{"type":"string"}},"required":["provider","providerApiKeyId","providerApiKeyName"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"billingTeam":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"spendCap":{"nullable":true,"type":"object","properties":{"limitValue":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"cleanupInterval":{"type":"string","enum":["1h","12h","24h","1w","1m","calendar_day","calendar_week_sunday","calendar_week_monday","calendar_month"]},"limitId":{"type":"string"},"currentUsage":{"type":"number"},"estimatedUsage":{"type":"boolean"}},"required":["limitValue","cleanupInterval","limitId","currentUsage","estimatedUsage"],"additionalProperties":false}},"required":["id","organizationId","name","keyType","includeFutureProviders","secretId","tokenStart","scope","authorId","expiresAt","createdByServiceAccountId","billingTeamId","createdAt","lastUsedAt","teams","authorName","createdBy","providerApiKeys","labels","billingTeam","spendCap"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"delete":{"operationId":"deleteVirtualApiKey","tags":["Virtual API Keys"],"description":"Delete a virtual API key\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-virtual-keys/{id}/value":{"get":{"operationId":"getVirtualApiKeyValue","tags":["Virtual API Keys"],"description":"Get the raw value of a virtual API key. Only the key's author can reveal it; a key created by a service account with no owner is revealed to that service account.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/llm-virtual-keys/bulk":{"delete":{"operationId":"bulkDeleteVirtualApiKeys","tags":["Virtual API Keys"],"description":"Delete several virtual API keys in one request. Each id is authorized exactly as the single-key delete authorizes its own, so a key the caller cannot see or manage is reported in `failed` while the rest of the batch still applies.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string"},"description":"Ids to act on. Duplicates are collapsed."}},"required":["ids"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/v1/vllm/embeddings":{"post":{"operationId":"vllmEmbeddingsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create embeddings with vLLM (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/vllm/{agentId}/embeddings":{"post":{"operationId":"vllmEmbeddingsWithAgent","tags":["LLM Proxy"],"description":"Create embeddings with vLLM for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/vllm/chat/completions":{"post":{"operationId":"vllmChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with vLLM (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VllmChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for vLLM (often not required)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VllmChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/vllm/{agentId}/chat/completions":{"post":{"operationId":"vllmChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with vLLM for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VllmChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":false,"description":"Bearer token for vLLM (often not required)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VllmChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/xai/chat/completions":{"post":{"operationId":"xaiChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with xAI (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/xai/{agentId}/chat/completions":{"post":{"operationId":"xaiChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with xAI for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XaiChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/xai/responses":{"post":{"operationId":"xaiResponsesWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a response with xAI (uses default agent). Served over xAI's chat completions.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/xai/{agentId}/responses":{"post":{"operationId":"xaiResponsesWithAgent","tags":["LLM Proxy"],"description":"Create a response with xAI for a specific agent. Served over xAI's chat completions.\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}]},"instructions":{"nullable":true,"type":"string"},"max_output_tokens":{"nullable":true,"type":"number"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}},"previous_response_id":{"nullable":true,"type":"string"},"stream":{"nullable":true,"type":"boolean"},"temperature":{"nullable":true,"type":"number"},"text":{},"tool_choice":{},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["type","name"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}]}},"top_p":{"nullable":true,"type":"number"},"user":{"type":"string"}},"required":["model"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"}}},"description":"https://developers.openai.com/api/reference/resources/responses/methods/create"},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["response"]},"created_at":{"type":"number"},"model":{"type":"string"},"output":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["message"]},"role":{"type":"string","enum":["assistant"]},"status":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["output_text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_text%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_refusal%20%3E%20(schema)"}]}}},"required":["id","type","role","status","content"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_output_message%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string","enum":["function_call"]},"id":{"type":"string"},"call_id":{"type":"string"},"name":{"type":"string"},"arguments":{"type":"string"},"status":{"type":"string"}},"required":["type","call_id","name","arguments"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"status":{"type":"string"},"usage":{"nullable":true,"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response_usage%20%3E%20(schema)"}},"required":["id","object","created_at","model","output","status"],"additionalProperties":{},"description":"https://developers.openai.com/api/reference/resources/responses#(resource)%20responses%20%3E%20(model)%20response%20%3E%20(schema)"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/xai-subscription-auth/device/start":{"post":{"operationId":"xaiSubscriptionDeviceAuthStart","tags":["xAI Subscription Auth"],"description":"Start the xAI OAuth device flow used to connect a SuperGrok subscription as a provider credential\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"deviceCode":{"type":"string"},"userCode":{"type":"string"},"verificationUri":{"type":"string"},"interval":{"type":"number"},"expiresIn":{"type":"number"}},"required":["deviceCode","userCode","verificationUri","interval","expiresIn"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/xai-subscription-auth/device/poll":{"post":{"operationId":"xaiSubscriptionDeviceAuthPoll","tags":["xAI Subscription Auth"],"description":"Poll the xAI OAuth device flow once; returns the encoded provider credential when the user has authorized\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"deviceCode":{"type":"string","minLength":1}},"required":["deviceCode"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["pending"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["slow_down"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["complete"]},"credential":{"type":"string"}},"required":["status","credential"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/v1/zhipuai/embeddings":{"post":{"operationId":"zhipuaiEmbeddingsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create embeddings with Zhipu AI (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/zhipuai/{agentId}/embeddings":{"post":{"operationId":"zhipuaiEmbeddingsWithAgent","tags":["LLM Proxy"],"description":"Create embeddings with Zhipu AI for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"dimensions":{"type":"number"},"encoding_format":{"type":"string","enum":["float","base64"]}},"required":["model","input"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for OpenAI"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["embedding"]},"embedding":{"type":"array","items":{"type":"number"}},"index":{"type":"number"}},"required":["object","embedding"],"additionalProperties":false}},"model":{"type":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"}},"required":["prompt_tokens","total_tokens"],"additionalProperties":false}},"required":["object","data","model","usage"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/zhipuai/chat/completions":{"post":{"operationId":"zhipuaiChatCompletionsWithDefaultAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Zhipu AI (uses default agent)\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZhipuaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for Zhipu AI"},{"schema":{"type":"string"},"in":"header","name":"accept-language","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZhipuaiChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/zhipuai/{agentId}/chat/completions":{"post":{"operationId":"zhipuaiChatCompletionsWithAgent","tags":["LLM Proxy"],"description":"Create a chat completion with Zhipu AI for a specific agent\n\nAuthentication:\n\nThis route accepts either an LLM provider API key or a Virtual API Key. See [LLM Proxy Authentication](/docs/llm-proxy/authentication).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZhipuaiChatCompletionRequestInput"}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true},{"schema":{"type":"string"},"in":"header","name":"user-agent","required":false,"description":"The user agent of the client"},{"schema":{"type":"string"},"in":"header","name":"authorization","required":true,"description":"Bearer token for Zhipu AI"},{"schema":{"type":"string"},"in":"header","name":"accept-language","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZhipuaiChatCompletionResponse"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}}},"tags":[{"name":"LLM Proxy"},{"name":"LLM Models"},{"name":"LLM Provider API Keys"},{"name":"Virtual API Keys"},{"name":"LLM OAuth Clients"},{"name":"Model Pools"},{"name":"Limits"},{"name":"Guardrails"},{"name":"GitHub Copilot Auth"},{"name":"Microsoft 365 Copilot Auth"},{"name":"OpenAI Codex Auth"},{"name":"xAI Subscription Auth"}]}