{"openapi":"3.0.0","info":{"title":"Archestra — Projects Chat","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":{"/api/chat":{"post":{"operationId":"streamChat","tags":["Chat"],"description":"Stream chat response with MCP tools (useChat format)\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","requestBody":{"required":true,"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)$"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string","enum":["system","user","assistant"]},"parts":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}}},"required":["role","parts"],"additionalProperties":{}}},"trigger":{"type":"string","enum":["submit-message","regenerate-message"]},"temperature":{"type":"number","minimum":0,"maximum":2},"maxSteps":{"type":"integer","minimum":1,"maximum":500},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]}},"required":["id","messages"]}}}},"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}}}}},"x-required-permissions":{"kind":"static","permissions":["chat:read"]}}},"/api/chat/elicitation/{id}":{"post":{"operationId":"resolveChatMcpElicitation","tags":["Chat"],"description":"Resolve a pending MCP elicitation request from chat\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"action":{"type":"string","enum":["accept","decline","cancel"]},"content":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]}}},"required":["conversationId","action"]}}}},"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":["chat:read"]}}},"/api/chat/tasks/{taskId}/cancel":{"post":{"operationId":"cancelChatMcpTask","tags":["Chat"],"description":"Cancel a long-running MCP task started from chat\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","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":"taskId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"cancelled":{"type":"boolean"}},"required":["cancelled"],"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":["chat:read"]}}},"/api/chat/conversations/{id}/stop":{"post":{"operationId":"stopChatStream","tags":["Chat"],"description":"Stop a running chat stream for a conversation\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","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":{"stopped":{"type":"boolean"}},"required":["stopped"],"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":["chat:read"]}}},"/api/chat/conversations/{id}/active-run":{"get":{"operationId":"getActiveChatRun","tags":["Chat"],"description":"Reconnect to an active chat stream for a conversation\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","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":{}}}},"204":{"description":"Default Response"},"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":["chat:read"]}}},"/api/chat/conversations":{"get":{"operationId":"getChatConversations","tags":["Chat"],"description":"List the current user's conversations with agent details, newest first. Optionally filter by search query. Without a search, `limit` caps the recent conversations returned (pinned ones are always included); search results have their own cap of 50.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","parameters":[{"schema":{"type":"string"},"in":"query","name":"search","required":false},{"schema":{"default":250,"type":"integer","minimum":1,"maximum":250},"in":"query","name":"limit","required":false,"description":"Recent conversations to return when not searching. Pinned ones are always added."},{"schema":{"type":"boolean"},"in":"query","name":"includeArtifacts","required":false,"description":"Include each chat's artifact and todo list (default true). False returns them as null for lightweight lists."}],"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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"scheduledRun":{"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)$"},"triggerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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"},"runKind":{"type":"string","enum":["due","manual"]},"scheduleName":{"type":"string"}},"required":["id","triggerId","createdAt","runKind","scheduleName"],"additionalProperties":false}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:read"]}},"post":{"operationId":"createChatConversation","tags":["Chat"],"description":"Create a new conversation with an agent\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:create`](/docs/reference/permissions#chat:create): Start new chat conversations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"nullable":true,"type":"string"},"modelId":{"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)$"},"chatApiKeyId":{"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)$"},"modelPoolId":{"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)$"},"projectId":{"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)$"},"encryptedChat":{"type":"boolean"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]}},"required":["agentId"]}}}},"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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:create"]}}},"/api/chat/conversations/deleted":{"get":{"operationId":"getDeletedChatConversations","tags":["Chat"],"description":"List the current user's soft-deleted conversations (the Trash view), newest deletion first.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:delete`](/docs/reference/permissions#chat:delete): Delete chat conversations","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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:delete"]}}},"/api/chat/conversations/{id}":{"get":{"operationId":"getChatConversation","tags":["Chat"],"description":"Get conversation with messages. With `tail`, only the last `tail` messages and the count of the earlier ones (`olderMessageCount`).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":200},"in":"query","name":"tail","required":false,"description":"Return only the last N messages"},{"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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:read"]}},"patch":{"operationId":"updateChatConversation","tags":["Chat"],"description":"Update conversation title, model, agent, API key, or project\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"nullable":true,"type":"string"},"modelId":{"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)$"},"chatApiKeyId":{"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)$"},"modelPoolId":{"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)$"},"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"pinnedAt":{"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))$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]}}}}}},"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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:update"]}},"delete":{"operationId":"deleteChatConversation","tags":["Chat"],"description":"Delete a conversation\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:delete`](/docs/reference/permissions#chat:delete): Delete chat conversations","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":["chat:delete"]}}},"/api/chat/conversations/{id}/openappa-status":{"get":{"operationId":"getChatOpenappaStatus","tags":["Chat"],"description":"Get the current OpenAPPA trust and audience of a conversation\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","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":{"trust":{"type":"string"},"audience":{"type":"string"},"policyRevision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["trust","audience","policyRevision"],"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":["chat:read"]}}},"/api/chat/conversations/{id}/hooks-debug":{"post":{"operationId":"setConversationHooksDebug","tags":["Chat"],"description":"Toggle per-conversation hook debug mode (admin only). When on, hook runs surface inline as expandable debug chips for admins.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}}},"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":{"hooksDebugEnabled":{"type":"boolean"}},"required":["hooksDebugEnabled"],"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":["chat:update"]}}},"/api/chat/conversations/{id}/read":{"post":{"operationId":"markChatConversationRead","tags":["Chat"],"description":"Mark a conversation read by its owner, clearing the sidebar new-messages indicator.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","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":["chat:update"]}}},"/api/chat/conversations/{id}/files":{"get":{"operationId":"getChatConversationFiles","tags":["Chat"],"description":"List files for a conversation: this chat's own outputs, user attachments, and — for a project chat — every file in the project (metadata only).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","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":{"generated":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"mimeType":{"type":"string"},"contentUrl":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","name","mimeType","contentUrl","createdAt"],"additionalProperties":false}},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"mimeType":{"type":"string"},"contentUrl":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","name","mimeType","contentUrl","createdAt"],"additionalProperties":false}},"projectFiles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"mimeType":{"type":"string"},"contentUrl":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","name","mimeType","contentUrl","createdAt"],"additionalProperties":false}},"projectName":{"nullable":true,"type":"string"},"canManageFiles":{"type":"boolean"}},"required":["generated","attachments","projectFiles","projectName","canManageFiles"],"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":["chat:read"]}}},"/api/chat/attachments/{id}/content":{"get":{"operationId":"getChatAttachmentContent","tags":["Chat"],"description":"Stream the bytes of a chat attachment by id. Auth'd to the org.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","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":{"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":["chat:read"]}}},"/api/chat/attachments/{id}":{"delete":{"operationId":"deleteChatAttachment","tags":["Chat"],"description":"Soft-delete a chat attachment by id. Owner-gated: only the conversation owner may remove its attachments.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","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":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":["chat:update"]}}},"/api/chat/conversations/{id}/fork":{"post":{"operationId":"forkChatConversation","tags":["Chat"],"description":"Create a new conversation from an accessible conversation\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:create`](/docs/reference/permissions#chat:create): Start new chat conversations","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":["agentId"]}}}},"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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:create"]}}},"/api/chat/agents/{agentId}/mcp-tools":{"get":{"operationId":"getChatAgentMcpTools","tags":["Chat"],"description":"Get MCP tools available for an agent via MCP Gateway\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":"agentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"nullable":true,"type":"object","additionalProperties":{}},"tokens":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","description","parameters","tokens"],"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/chat/conversations/{id}/restore":{"post":{"operationId":"restoreChatConversation","tags":["Chat"],"description":"Restore a soft-deleted conversation\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:delete`](/docs/reference/permissions#chat:delete): Delete chat conversations","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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:delete"]}}},"/api/chat/conversations/{id}/chat-errors":{"delete":{"operationId":"clearChatConversationErrors","tags":["Chat"],"description":"Clear a conversation's recorded chat errors\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","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":["chat:update"]}}},"/api/chat/conversations/{id}/compact":{"post":{"operationId":"compactChatConversation","tags":["Chat"],"description":"Compact older chat history for model context\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","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":{"status":{"type":"string","enum":["created","existing","skipped","failed"]},"reason":{"type":"string","enum":["below_threshold","using_existing_summary","nothing_to_compact","missing_boundary_message_id","not_beneficial","aborted","summary_generation_failed"]},"compaction":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false},"conversation":{"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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"additionalProperties":false}},"required":["status","compaction","conversation"],"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":["chat:update"]}}},"/api/chat/conversations/{id}/generate-title":{"post":{"operationId":"generateChatConversationTitle","tags":["Chat"],"description":"Generate a title for the conversation based on the first user message and assistant response\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"regenerate":{"description":"Force regeneration even if title already exists (for manual regeneration)","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":"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)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:update"]}}},"/api/chat/messages/{id}":{"patch":{"operationId":"updateChatMessage","tags":["Chat"],"description":"Update a specific text part in a message\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"conversationId":{"type":"string"},"partIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"text":{"type":"string","minLength":1},"deleteSubsequentMessages":{"type":"boolean"}},"required":["conversationId","partIndex","text"]}}}},"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","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"userId":{"type":"string"},"organizationId":{"type":"string"},"agentId":{"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)$"},"chatApiKeyId":{"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)$"},"title":{"nullable":true,"type":"string"},"selectedModel":{"type":"string"},"selectedProvider":{"nullable":true,"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":{"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)$"},"modelPoolId":{"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)$"},"thinkingEffort":{"nullable":true,"type":"string","enum":["low","medium","high"]},"hasCustomToolSelection":{"type":"boolean"},"hooksDebugEnabled":{"type":"boolean"},"todoList":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"artifact":{"nullable":true,"type":"string"},"projectId":{"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)$"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"titleIsPlaceholder":{"type":"boolean"},"encryptedChat":{"type":"boolean"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"contentLocked":{"type":"boolean"},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"llmApiKeyId":{"nullable":true,"type":"string"}},"required":["id","name","agentType","toolExposureMode","llmApiKeyId"],"additionalProperties":false},"share":{"nullable":true,"type":"object","properties":{"visibility":{"type":"string","enum":["organization","team","user"]}},"required":["visibility"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"unread":{"type":"boolean"},"messages":{"type":"array","items":{}},"olderMessageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"chatErrors":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["rate_limit","usage_limit_exceeded","authentication","permission_denied","invalid_request","provider_insufficient_balance","not_found","context_too_long","request_too_large","request_exceeds_rate_limit","content_filtered","server_error","network_error","empty_response","incomplete_tool_call","tool_call_output_truncated","upstream_stalled","incomplete_response","provider_auth_required","tools_unsupported","aborted","unknown"]},"message":{"type":"string"},"isRetryable":{"type":"boolean"},"sessionId":{"type":"string"},"traceId":{"type":"string"},"spanId":{"type":"string"},"usageLimitExceeded":{"type":"boolean"},"usageLimitEntityType":{"type":"string"},"authAction":{"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"]},"providerLabel":{"type":"string"}},"required":["provider","providerLabel"],"additionalProperties":false},"originalError":{"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"]},"status":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"},"raw":{}},"additionalProperties":false}},"required":["code","message","isRetryable"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","error","createdAt"],"additionalProperties":false}},"compactions":{"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)$"},"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"summary":{"type":"string"},"compactedThroughMessageId":{"nullable":true,"type":"string"},"trigger":{"type":"string","enum":["auto","manual"]},"provider":{"type":"string"},"model":{"type":"string"},"originalTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"compactedTokenEstimate":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"}},"required":["id","conversationId","summary","compactedThroughMessageId","trigger","provider","model","originalTokenEstimate","compactedTokenEstimate","createdAt"],"additionalProperties":false}},"contextTokensUsed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","userId","organizationId","agentId","chatApiKeyId","title","selectedModel","selectedProvider","modelId","modelPoolId","thinkingEffort","hasCustomToolSelection","hooksDebugEnabled","todoList","artifact","projectId","origin","titleIsPlaceholder","encryptedChat","pinnedAt","lastMessageAt","createdAt","updatedAt","deletedAt","agent","share","messages","chatErrors","compactions"],"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":["chat:update"]}}},"/api/chat/messages/{id}/feedback":{"patch":{"operationId":"setChatMessageFeedback","tags":["Chat"],"description":"Set or clear the owner's thumbs feedback on an assistant message\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"feedback":{"anyOf":[{"type":"string","enum":["up","down"]},{"type":"string","nullable":true,"enum":[null]}]}},"required":["conversationId","feedback"]}}}},"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","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"feedback":{"anyOf":[{"type":"string","enum":["up","down"]},{"type":"string","nullable":true,"enum":[null]}]}},"required":["id","feedback"],"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":["chat:update"]}}},"/api/chat/conversations/{id}/enabled-tools":{"get":{"operationId":"getConversationEnabledTools","tags":["Chat"],"description":"Get enabled tools for a conversation. Empty array means all profile tools are enabled (default).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:read`](/docs/reference/permissions#chat:read): View and access chat conversations","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":{"hasCustomSelection":{"type":"boolean"},"enabledToolIds":{"type":"array","items":{"type":"string"}}},"required":["hasCustomSelection","enabledToolIds"],"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":["chat:read"]}},"put":{"operationId":"updateConversationEnabledTools","tags":["Chat"],"description":"Set enabled tools for a conversation. Replaces all existing selections.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"toolIds":{"type":"array","items":{"type":"string"}}},"required":["toolIds"]}}}},"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":{"hasCustomSelection":{"type":"boolean"},"enabledToolIds":{"type":"array","items":{"type":"string"}}},"required":["hasCustomSelection","enabledToolIds"],"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":["chat:update"]}},"delete":{"operationId":"deleteConversationEnabledTools","tags":["Chat"],"description":"Clear custom tool selection for a conversation (revert to all tools enabled)\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`chat:update`](/docs/reference/permissions#chat:update): Edit chat messages and conversation settings","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":["chat:update"]}}},"/api/chatops/jira/config":{"get":{"operationId":"getJiraChatOpsConfig","tags":["ChatOps"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"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)$"},"enabled":{"type":"boolean"},"siteUrl":{"type":"string"},"ingressMode":{"type":"string","enum":["hmac","automation","poll"]},"hasWebhookSecret":{"type":"boolean"},"webhookUrl":{"nullable":true,"type":"string"},"bots":{"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)$"},"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1,"maxLength":256},"displayName":{"type":"string","minLength":1,"maxLength":256},"email":{"type":"string","maxLength":320,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"cloudId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"enabled":{"type":"boolean"},"hasApiToken":{"type":"boolean"},"fallbackServiceAccountId":{"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)$"},"fallbackReviewerUserId":{"nullable":true,"type":"string"}},"required":["id","agentId","accountId","displayName","email","enabled","hasApiToken","fallbackServiceAccountId","fallbackReviewerUserId"],"additionalProperties":false}},"pollingSupported":{"type":"boolean","enum":[true]}},"required":["id","enabled","siteUrl","ingressMode","hasWebhookSecret","webhookUrl","bots","pollingSupported"],"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:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels"},"put":{"operationId":"updateJiraChatOpsConfig","tags":["ChatOps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"siteUrl":{"type":"string","maxLength":512},"ingressMode":{"type":"string","enum":["hmac","automation","poll"]},"webhookSecret":{"type":"string","minLength":16,"maxLength":4096}},"required":["enabled","siteUrl","ingressMode"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"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)$"},"enabled":{"type":"boolean"},"siteUrl":{"type":"string"},"ingressMode":{"type":"string","enum":["hmac","automation","poll"]},"hasWebhookSecret":{"type":"boolean"},"webhookUrl":{"nullable":true,"type":"string"},"bots":{"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)$"},"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1,"maxLength":256},"displayName":{"type":"string","minLength":1,"maxLength":256},"email":{"type":"string","maxLength":320,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"cloudId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"enabled":{"type":"boolean"},"hasApiToken":{"type":"boolean"},"fallbackServiceAccountId":{"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)$"},"fallbackReviewerUserId":{"nullable":true,"type":"string"}},"required":["id","agentId","accountId","displayName","email","enabled","hasApiToken","fallbackServiceAccountId","fallbackReviewerUserId"],"additionalProperties":false}},"pollingSupported":{"type":"boolean","enum":[true]}},"required":["id","enabled","siteUrl","ingressMode","hasWebhookSecret","webhookUrl","bots","pollingSupported"],"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/chatops/jira/bots":{"post":{"operationId":"createJiraChatOpsBot","tags":["ChatOps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"email":{"type":"string","maxLength":320,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"apiToken":{"type":"string","minLength":1,"maxLength":4096},"tokenType":{"default":"classic","type":"string","enum":["classic","scoped"]},"fallbackServiceAccountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fallbackReviewerUserId":{"type":"string","minLength":1,"maxLength":256}},"required":["agentId","email","apiToken"],"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)$"},"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1,"maxLength":256},"displayName":{"type":"string","minLength":1,"maxLength":256},"email":{"type":"string","maxLength":320,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"cloudId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"enabled":{"type":"boolean"},"hasApiToken":{"type":"boolean"},"fallbackServiceAccountId":{"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)$"},"fallbackReviewerUserId":{"nullable":true,"type":"string"}},"required":["id","agentId","accountId","displayName","email","enabled","hasApiToken","fallbackServiceAccountId","fallbackReviewerUserId"],"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/chatops/jira/bots/{botId}":{"patch":{"operationId":"updateJiraChatOpsBot","tags":["ChatOps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"fallbackServiceAccountId":{"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)$"},"fallbackReviewerUserId":{"nullable":true,"type":"string","minLength":1,"maxLength":256}},"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":"botId","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)$"},"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"string","minLength":1,"maxLength":256},"displayName":{"type":"string","minLength":1,"maxLength":256},"email":{"type":"string","maxLength":320,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"cloudId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"enabled":{"type":"boolean"},"hasApiToken":{"type":"boolean"},"fallbackServiceAccountId":{"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)$"},"fallbackReviewerUserId":{"nullable":true,"type":"string"}},"required":["id","agentId","accountId","displayName","email","enabled","hasApiToken","fallbackServiceAccountId","fallbackReviewerUserId"],"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"},"delete":{"operationId":"deleteJiraChatOpsBot","tags":["ChatOps"],"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":"botId","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":["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/chatops/jira/bots/{botId}/projects":{"get":{"operationId":"listJiraChatOpsProjects","tags":["ChatOps"],"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":"botId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"key":{"type":"string","minLength":1,"maxLength":256},"name":{"type":"string","minLength":1,"maxLength":512}},"required":["id","key","name"],"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:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels"}},"/api/chatops/jira/bots/{botId}/bindings":{"post":{"operationId":"createJiraChatOpsBinding","tags":["ChatOps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"projectId":{"type":"string","maxLength":256,"pattern":"^\\d+$"},"instructions":{"type":"string","maxLength":4000}},"required":["projectId"],"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":"botId","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"},"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"channelId":{"type":"string","maxLength":256},"workspaceId":{"nullable":true,"type":"string","maxLength":256},"channelName":{"nullable":true,"type":"string","maxLength":256},"workspaceName":{"nullable":true,"type":"string","maxLength":256},"isDm":{"type":"boolean"},"answerAllMessages":{"type":"boolean"},"channelInstructions":{"nullable":true,"type":"string"},"dmOwnerEmail":{"nullable":true,"type":"string","maxLength":256},"agentId":{"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","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))$"},"updatedAt":{"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))$"}},"required":["id","organizationId","provider","channelId","workspaceId","channelName","workspaceName","isDm","answerAllMessages","channelInstructions","dmOwnerEmail","agentId","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":["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/webhooks/chatops/jira/{integrationId}":{"post":{"tags":["ChatOps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"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":"integrationId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"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/webhooks/chatops/ms-teams":{"post":{"tags":["ChatOps Webhooks"],"description":"MS Teams webhook endpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"status":{"type":"string"}},"required":["status"],"additionalProperties":false},{"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"}},"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"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"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"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/webhooks/chatops/ms-teams/sign-in":{"get":{"tags":["ChatOps Webhooks"],"description":"Start a Teams user's sign-in from a file sign-in card","parameters":[{"schema":{"type":"string","maxLength":64},"in":"query","name":"key","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/webhooks/chatops/ms-teams/sign-in/callback":{"get":{"tags":["ChatOps Webhooks"],"description":"Finish a Teams user's sign-in for reading group-chat files","parameters":[{"schema":{"type":"string"},"in":"query","name":"code","required":false},{"schema":{"type":"string"},"in":"query","name":"state","required":false},{"schema":{"type":"string"},"in":"query","name":"error","required":false},{"schema":{"type":"string"},"in":"query","name":"error_description","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/webhooks/chatops/slack":{"post":{"tags":["ChatOps Webhooks"],"description":"Slack Events API webhook endpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"challenge":{"type":"string"}},"required":["challenge"],"additionalProperties":false},{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"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"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/webhooks/chatops/slack/agents/{agentId}":{"post":{"tags":["ChatOps Webhooks"],"description":"Slack Events API webhook endpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"challenge":{"type":"string"}},"required":["challenge"],"additionalProperties":false},{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"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"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/webhooks/chatops/slack/interactive":{"post":{"tags":["ChatOps Webhooks"],"description":"Slack interactive components endpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/webhooks/chatops/slack/agents/{agentId}/interactive":{"post":{"tags":["ChatOps Webhooks"],"description":"Slack interactive components endpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/webhooks/chatops/slack/oauth/callback":{"get":{"tags":["ChatOps Webhooks"],"description":"Slack OAuth callback for a Slack bot install","parameters":[{"schema":{"type":"string"},"in":"query","name":"code","required":false},{"schema":{"type":"string"},"in":"query","name":"state","required":false},{"schema":{"type":"string"},"in":"query","name":"error","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/webhooks/chatops/slack/slash-command":{"post":{"tags":["ChatOps Webhooks"],"description":"Slack slash commands endpoint","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/chatops/status":{"get":{"operationId":"getChatOpsStatus","tags":["ChatOps"],"description":"Get chatops provider configuration status\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"displayName":{"type":"string"},"configured":{"type":"boolean"},"credentials":{"type":"object","properties":{"botToken":{"type":"string"},"appId":{"type":"string"},"appSecret":{"type":"string"},"tenantId":{"type":"string"},"signingSecret":{"type":"string"},"appLevelToken":{"type":"string"},"connectionMode":{"type":"string","enum":["webhook","socket"]}},"additionalProperties":false},"dmInfo":{"type":"object","properties":{"botUserId":{"type":"string"},"teamId":{"type":"string"},"appId":{"type":"string"},"botUsername":{"type":"string"}},"additionalProperties":false}},"required":["id","displayName","configured"],"additionalProperties":false}}},"required":["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":["organizationSettings:read"]}}},"/api/chatops/bindings":{"get":{"operationId":"listChatOpsBindings","tags":["ChatOps"],"description":"List chatops channel bindings with pagination\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","parameters":[{"schema":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"in":"query","name":"provider","required":false},{"schema":{"type":"string"},"in":"query","name":"workspaceId","required":false},{"schema":{"type":"string"},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["configured","unassigned"]},"in":"query","name":"status","required":false},{"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","enum":["channelName","createdAt"]},"in":"query","name":"sortBy","required":false},{"schema":{"default":"desc","type":"string","enum":["asc","desc"]},"in":"query","name":"sortDirection","required":false}],"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"},"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"channelId":{"type":"string","maxLength":256},"workspaceId":{"nullable":true,"type":"string","maxLength":256},"channelName":{"nullable":true,"type":"string","maxLength":256},"workspaceName":{"nullable":true,"type":"string","maxLength":256},"isDm":{"type":"boolean"},"answerAllMessages":{"type":"boolean"},"channelInstructions":{"nullable":true,"type":"string"},"dmOwnerEmail":{"nullable":true,"type":"string","maxLength":256},"agentId":{"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","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))$"},"updatedAt":{"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))$"}},"required":["id","organizationId","provider","channelId","workspaceId","channelName","workspaceName","isDm","answerAllMessages","channelInstructions","dmOwnerEmail","agentId","createdAt","updatedAt"],"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},"counts":{"type":"object","properties":{"configured":{"type":"number"},"unassigned":{"type":"number"}},"required":["configured","unassigned"],"additionalProperties":false},"workspaces":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"hasDmBinding":{"type":"boolean"},"workspacesWithUnmentionedTraffic":{"type":"array","items":{"type":"string"}}},"required":["data","pagination","counts","workspaces","hasDmBinding","workspacesWithUnmentionedTraffic"],"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:read"]}},"patch":{"operationId":"bulkUpdateChatOpsBindings","tags":["ChatOps"],"description":"Bulk-update agent assignment for multiple channel bindings\n\nAuthentication:\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","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)$"}},"agentId":{"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)$"},"expectedAgentAssignments":{"minItems":1,"maxItems":500,"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)$"},"agentId":{"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)$"}},"required":["id","agentId"]}}},"required":["ids","agentId"]}}}},"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"},"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"channelId":{"type":"string","maxLength":256},"workspaceId":{"nullable":true,"type":"string","maxLength":256},"channelName":{"nullable":true,"type":"string","maxLength":256},"workspaceName":{"nullable":true,"type":"string","maxLength":256},"isDm":{"type":"boolean"},"answerAllMessages":{"type":"boolean"},"channelInstructions":{"nullable":true,"type":"string"},"dmOwnerEmail":{"nullable":true,"type":"string","maxLength":256},"agentId":{"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","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))$"},"updatedAt":{"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))$"}},"required":["id","organizationId","provider","channelId","workspaceId","channelName","workspaceName","isDm","answerAllMessages","channelInstructions","dmOwnerEmail","agentId","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":["organizationSettings:update"]}}},"/api/chatops/bindings/{id}":{"delete":{"operationId":"deleteChatOpsBinding","tags":["ChatOps"],"description":"Delete a chatops channel binding\n\nAuthentication:\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","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":["organizationSettings:update"]}},"patch":{"operationId":"updateChatOpsBinding","tags":["ChatOps"],"description":"Update a chatops channel binding\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agentId":{"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)$"},"answerAllMessages":{"type":"boolean"},"channelInstructions":{"nullable":true,"type":"string","maxLength":4000}}}}}},"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"},"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"channelId":{"type":"string","maxLength":256},"workspaceId":{"nullable":true,"type":"string","maxLength":256},"channelName":{"nullable":true,"type":"string","maxLength":256},"workspaceName":{"nullable":true,"type":"string","maxLength":256},"isDm":{"type":"boolean"},"answerAllMessages":{"type":"boolean"},"channelInstructions":{"nullable":true,"type":"string"},"dmOwnerEmail":{"nullable":true,"type":"string","maxLength":256},"agentId":{"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","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))$"},"updatedAt":{"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))$"}},"required":["id","organizationId","provider","channelId","workspaceId","channelName","workspaceName","isDm","answerAllMessages","channelInstructions","dmOwnerEmail","agentId","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":["organizationSettings:update"]}}},"/api/chatops/bindings/dm":{"post":{"operationId":"createChatOpsDmBinding","tags":["ChatOps"],"description":"Create a pending DM binding so an agent can be pre-assigned before the first DM interaction\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"agentId":{"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)$"},"requireNoExistingBinding":{"type":"boolean","enum":[true]}},"required":["provider","agentId"]}}}},"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"},"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"channelId":{"type":"string","maxLength":256},"workspaceId":{"nullable":true,"type":"string","maxLength":256},"channelName":{"nullable":true,"type":"string","maxLength":256},"workspaceName":{"nullable":true,"type":"string","maxLength":256},"isDm":{"type":"boolean"},"answerAllMessages":{"type":"boolean"},"channelInstructions":{"nullable":true,"type":"string"},"dmOwnerEmail":{"nullable":true,"type":"string","maxLength":256},"agentId":{"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","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))$"},"updatedAt":{"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))$"}},"required":["id","organizationId","provider","channelId","workspaceId","channelName","workspaceName","isDm","answerAllMessages","channelInstructions","dmOwnerEmail","agentId","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":["organizationSettings:update"]}}},"/api/chatops/bindings/assignment-plan":{"post":{"operationId":"applyChatOpsBindingPlan","tags":["ChatOps"],"description":"Atomically apply ChatOps assignments, channel settings, and pending direct-message bindings for an agent\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`agent:read`](/docs/reference/permissions#agent:read): Open Agents, and use the code sandboxes and files of agents you can use\n[`organizationSettings:update`](/docs/reference/permissions#organizationSettings:update): Change organization settings, messaging channels, and site notifications","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"targetAgentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"updates":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"answerAllMessages":{"type":"boolean"},"channelInstructions":{"nullable":true,"type":"string","maxLength":4000},"bindingId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expectedAgentId":{"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)$"},"nextAgentId":{"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)$"}},"required":["bindingId","expectedAgentId","nextAgentId"]}},"directMessages":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]}},"required":["provider"]}}},"required":["targetAgentId","updates","directMessages"]}}}},"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"},"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]},"channelId":{"type":"string","maxLength":256},"workspaceId":{"nullable":true,"type":"string","maxLength":256},"channelName":{"nullable":true,"type":"string","maxLength":256},"workspaceName":{"nullable":true,"type":"string","maxLength":256},"isDm":{"type":"boolean"},"answerAllMessages":{"type":"boolean"},"channelInstructions":{"nullable":true,"type":"string"},"dmOwnerEmail":{"nullable":true,"type":"string","maxLength":256},"agentId":{"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","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))$"},"updatedAt":{"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))$"}},"required":["id","organizationId","provider","channelId","workspaceId","channelName","workspaceName","isDm","answerAllMessages","channelInstructions","dmOwnerEmail","agentId","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":["agent:read","organizationSettings:update"]}}},"/api/chatops/config/ms-teams":{"get":{"operationId":"getMsTeamsChatOpsConfig","tags":["ChatOps"],"description":"Get the stored MS Teams chatops configuration without its secrets\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configured":{"type":"boolean"},"updatedAt":{"nullable":true,"type":"string","format":"date-time"},"enabled":{"type":"boolean"},"appId":{"nullable":true,"type":"string"},"tenantId":{"nullable":true,"type":"string"},"groupChatFileSignIn":{"type":"boolean"},"signInRedirectUri":{"type":"string"}},"required":["configured","updatedAt","enabled","appId","tenantId","groupChatFileSignIn","signInRedirectUri"],"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:read"]}},"put":{"operationId":"updateChatOpsConfigInQuickstart","tags":["ChatOps"],"description":"Update MS Teams chatops configuration\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"appId":{"type":"string","minLength":1,"maxLength":256},"appSecret":{"type":"string","minLength":1,"maxLength":512},"tenantId":{"type":"string","minLength":1,"maxLength":256},"groupChatFileSignIn":{"type":"boolean"}}}}}},"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":["organizationSettings:update"]}}},"/api/chatops/config/ngrok":{"put":{"operationId":"connectNgrok","tags":["ChatOps"],"description":"Connect an ngrok tunnel for inbound chatops webhooks\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"authToken":{"type":"string","maxLength":512},"domain":{"type":"string","maxLength":256}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"domain":{"type":"string"}},"required":["success","domain"],"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"]}},"delete":{"operationId":"disconnectNgrok","tags":["ChatOps"],"description":"Stop the ngrok tunnel and clear its credentials\n\nAuthentication:\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","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":["organizationSettings:update"]}},"get":{"operationId":"getNgrokConfig","tags":["ChatOps"],"description":"Get saved ngrok configuration (token redacted)\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"hasAuthToken":{"type":"boolean"},"domain":{"type":"string"}},"required":["hasAuthToken","domain"],"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:read"]}}},"/api/chatops/config/slack":{"get":{"operationId":"getSlackChatOpsConfig","tags":["ChatOps"],"description":"Get the stored Slack chatops configuration without its secrets\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configured":{"type":"boolean"},"updatedAt":{"nullable":true,"type":"string","format":"date-time"},"enabled":{"type":"boolean"},"appId":{"nullable":true,"type":"string"},"connectionMode":{"type":"string","enum":["webhook","socket"]}},"required":["configured","updatedAt","enabled","appId","connectionMode"],"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:read"]}},"put":{"operationId":"updateSlackChatOpsConfig","tags":["ChatOps"],"description":"Update Slack chatops configuration\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"botToken":{"type":"string","maxLength":512},"signingSecret":{"type":"string","maxLength":256},"appId":{"type":"string","maxLength":256},"connectionMode":{"type":"string","enum":["webhook","socket"]},"appLevelToken":{"type":"string","maxLength":512}}}}}},"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":["organizationSettings:update"]}}},"/api/chatops/config/slack/agents":{"get":{"operationId":"listSlackAgentBots","tags":["ChatOps"],"description":"List the Slack bots that each answer as one agent, with their connection status\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"bots":{"type":"array","items":{"type":"object","properties":{"identitySyncError":{"nullable":true,"type":"string"},"handle":{"nullable":true,"type":"string"},"missingScopes":{"type":"array","items":{"type":"string"}},"reinstallUrl":{"nullable":true,"type":"string"},"installed":{"type":"boolean"},"needsAppLevelToken":{"type":"boolean"},"createdByArchestra":{"type":"boolean"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"}},"required":["id","name"],"additionalProperties":false},"agentId":{"type":"string"},"agentName":{"type":"string"},"enabled":{"type":"boolean"},"connectionMode":{"type":"string","enum":["webhook","socket"]},"appId":{"type":"string"},"connected":{"type":"boolean"},"botUserId":{"nullable":true,"type":"string"},"teamId":{"nullable":true,"type":"string"}},"required":["identitySyncError","handle","missingScopes","reinstallUrl","installed","needsAppLevelToken","createdByArchestra","createdBy","agentId","agentName","enabled","connectionMode","appId","connected","botUserId","teamId"],"additionalProperties":false}},"canCreateApps":{"type":"boolean"},"oneClickInstall":{"type":"boolean"},"workspaceName":{"nullable":true,"type":"string"},"unassignedApp":{"nullable":true,"type":"object","properties":{"appId":{"type":"string"},"handle":{"nullable":true,"type":"string"},"connected":{"type":"boolean"},"installed":{"type":"boolean"},"needsAppLevelToken":{"type":"boolean"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"}},"required":["id","name"],"additionalProperties":false},"connectionMode":{"type":"string","enum":["webhook","socket"]},"agentUsage":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"agentName":{"type":"string"},"bindings":{"type":"number"}},"required":["agentId","agentName","bindings"],"additionalProperties":false}}},"required":["appId","handle","connected","installed","needsAppLevelToken","createdBy","connectionMode","agentUsage"],"additionalProperties":false}},"required":["bots","canCreateApps","oneClickInstall","workspaceName","unassignedApp"],"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:read"]}}},"/api/chatops/config/slack/convert-app":{"post":{"operationId":"convertSlackAppToAgentBot","tags":["ChatOps"],"description":"Turn the channel-routed Slack app into the Slack bot of one agent\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":["agentId"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"reinstallUrl":{"type":"string"}},"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":["organizationSettings:update"]}}},"/api/chatops/config/slack/agents/{agentId}":{"put":{"operationId":"updateSlackAgentBot","tags":["ChatOps"],"description":"Connect a Slack app whose bot always answers as this agent\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"botToken":{"type":"string","maxLength":512},"signingSecret":{"type":"string","maxLength":256},"appId":{"type":"string","maxLength":256},"connectionMode":{"type":"string","enum":["webhook","socket"]},"appLevelToken":{"type":"string","maxLength":512}}}}}},"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":{"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":["organizationSettings:update"]}},"delete":{"operationId":"deleteSlackAgentBot","tags":["ChatOps"],"description":"Disconnect the Slack bot pinned to this agent\n\nAuthentication:\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","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":{"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":["organizationSettings:update"]}}},"/api/chatops/config/slack/app-config-token":{"put":{"operationId":"updateSlackAppConfigToken","tags":["ChatOps"],"description":"Save your Slack app configuration token, used to create and update Slack apps for you\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string","minLength":1,"maxLength":512},"refreshToken":{"type":"string","minLength":1,"maxLength":512}},"required":["accessToken","refreshToken"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"migrated":{"type":"array","items":{"type":"object","properties":{"appId":{"type":"string"},"agentId":{"type":"string"},"ok":{"type":"boolean"},"error":{"type":"string"},"reinstallUrl":{"type":"string"}},"required":["appId","ok"],"additionalProperties":false}}},"required":["success","migrated"],"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"]}}},"/api/chatops/config/slack/apps/migrate":{"post":{"operationId":"migrateSlackApps","tags":["ChatOps"],"description":"Update every connected Slack app to the current settings (agent experience, events, scopes)\n\nAuthentication:\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","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"migrated":{"type":"array","items":{"type":"object","properties":{"appId":{"type":"string"},"agentId":{"type":"string"},"ok":{"type":"boolean"},"error":{"type":"string"},"reinstallUrl":{"type":"string"}},"required":["appId","ok"],"additionalProperties":false}}},"required":["migrated"],"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"]}}},"/api/chatops/config/slack/agents/{agentId}/app":{"post":{"operationId":"createSlackAgentBotApp","tags":["ChatOps"],"description":"Create a Slack app for this agent's bot and return its install link\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"appName":{"type":"string","pattern":"^[a-z0-9][a-z0-9._-]{0,34}$"},"connectionMode":{"type":"string","enum":["webhook","socket"]}},"required":["appName","connectionMode"]}}}},"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":{"appId":{"type":"string"},"installUrl":{"type":"string"},"installMode":{"type":"string","enum":["oauth","manual"]}},"required":["appId","installUrl","installMode"],"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"]}}},"/api/chatops/config/slack/router/app":{"post":{"operationId":"createSlackRouterBotApp","tags":["ChatOps"],"description":"Create the Slack app of the router bot and return its install link\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"appName":{"type":"string","pattern":"^[a-z0-9][a-z0-9._-]{0,34}$"},"connectionMode":{"type":"string","enum":["webhook","socket"]}},"required":["appName","connectionMode"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"appId":{"type":"string"},"installUrl":{"type":"string"},"installMode":{"type":"string","enum":["oauth","manual"]}},"required":["appId","installUrl","installMode"],"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"]}}},"/api/chatops/config/slack/agents/{agentId}/channels":{"get":{"operationId":"listSlackAgentBotChannels","tags":["ChatOps"],"description":"List the Slack channels an agent's bot is in or can join\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","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":{"workspaceId":{"nullable":true,"type":"string"},"canJoin":{"type":"boolean"},"channels":{"type":"array","items":{"type":"object","properties":{"channelId":{"type":"string"},"channelName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"isPrivate":{"type":"boolean"},"isMember":{"type":"boolean"}},"required":["channelId","channelName","description","isPrivate","isMember"],"additionalProperties":false}}},"required":["workspaceId","canJoin","channels"],"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:read"]}}},"/api/chatops/config/slack/agents/{agentId}/channels/{channelId}/join":{"post":{"operationId":"joinSlackAgentBotChannel","tags":["ChatOps"],"description":"Add an agent's Slack bot to a public channel\n\nAuthentication:\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","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":"^[A-Z0-9]+$"},"in":"path","name":"channelId","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":["organizationSettings:update"]}}},"/api/chatops/config/slack/router/channels":{"get":{"operationId":"listSlackRouterBotChannels","tags":["ChatOps"],"description":"List the Slack channels the router bot is in or can join\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"workspaceId":{"nullable":true,"type":"string"},"canJoin":{"type":"boolean"},"channels":{"type":"array","items":{"type":"object","properties":{"channelId":{"type":"string"},"channelName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"isPrivate":{"type":"boolean"},"isMember":{"type":"boolean"}},"required":["channelId","channelName","description","isPrivate","isMember"],"additionalProperties":false}}},"required":["workspaceId","canJoin","channels"],"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:read"]}}},"/api/chatops/config/slack/router/channels/{channelId}/join":{"post":{"operationId":"joinSlackRouterBotChannel","tags":["ChatOps"],"description":"Add the Slack router bot to a public channel\n\nAuthentication:\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","parameters":[{"schema":{"type":"string","pattern":"^[A-Z0-9]+$"},"in":"path","name":"channelId","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":["organizationSettings:update"]}}},"/api/chatops/config/telegram":{"get":{"operationId":"getTelegramChatOpsConfig","tags":["ChatOps"],"description":"Get the stored Telegram chatops configuration without its bot token\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configured":{"type":"boolean"},"updatedAt":{"nullable":true,"type":"string","format":"date-time"},"enabled":{"type":"boolean"}},"required":["configured","updatedAt","enabled"],"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:read"]}},"put":{"operationId":"updateTelegramChatOpsConfig","tags":["ChatOps"],"description":"Update Telegram chatops configuration\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"botToken":{"type":"string","maxLength":256}}}}}},"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":["organizationSettings:update"]}}},"/api/chatops/telegram/link-code":{"post":{"operationId":"generateTelegramLinkCode","tags":["ChatOps"],"description":"Generate a one-shot code that links the current user's Telegram account via a t.me deep link\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":{"code":{"type":"string"},"botUsername":{"type":"string"}},"required":["code","botUsername"],"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/chatops/telegram/link":{"post":{"operationId":"linkTelegramChatOpsAccount","tags":["ChatOps"],"description":"Link the current user's Telegram account using a code from the bot\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","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":["code"]}}}},"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":[]}},"delete":{"operationId":"unlinkTelegramChatOpsAccount","tags":["ChatOps"],"description":"Unlink the current user's Telegram 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":{"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/chatops/channel-discovery/refresh":{"post":{"operationId":"refreshChatOpsChannelDiscovery","tags":["ChatOps"],"description":"Refresh channel discovery cache for a chatops provider\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","enum":["ms-teams","slack","telegram","jira"]}},"required":["provider"]}}}},"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":["organizationSettings:read"]}}},"/api/webhooks/incoming-email":{"post":{"tags":["Webhooks"],"description":"Webhook endpoint for incoming email notifications","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"},{"type":"object","properties":{"success":{"type":"boolean"},"processed":{"type":"number"},"errors":{"type":"number"}},"required":["success"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/incoming-email/status":{"get":{"operationId":"getIncomingEmailStatus","tags":["Incoming Email"],"description":"Get the current incoming email webhook subscription status\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:read`](/docs/reference/permissions#organizationSettings:read): View every organization settings page, including messaging channels","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"isActive":{"type":"boolean"},"subscription":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"subscriptionId":{"type":"string"},"provider":{"type":"string"},"webhookUrl":{"type":"string"},"expiresAt":{"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))$"}},"required":["id","subscriptionId","provider","webhookUrl","expiresAt"],"additionalProperties":false}},"required":["isActive","subscription"],"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:read"]}}},"/api/incoming-email/setup":{"post":{"operationId":"setupIncomingEmailWebhook","tags":["Incoming Email"],"description":"Setup or renew incoming email webhook subscription\n\nAuthentication:\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"webhookUrl":{"type":"string","format":"uri"}},"required":["webhookUrl"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"subscriptionId":{"type":"string"},"expiresAt":{"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))$"},"message":{"type":"string"}},"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":["organizationSettings:update"]}}},"/api/incoming-email/renew":{"post":{"operationId":"renewIncomingEmailSubscription","tags":["Incoming Email"],"description":"Renew the incoming email webhook subscription\n\nAuthentication:\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","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"subscriptionId":{"type":"string"},"expiresAt":{"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))$"},"message":{"type":"string"}},"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":["organizationSettings:update"]}}},"/api/incoming-email/subscription":{"delete":{"operationId":"deleteIncomingEmailSubscription","tags":["Incoming Email"],"description":"Delete the incoming email webhook subscription\n\nAuthentication:\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","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":["organizationSettings:update"]}}},"/api/projects/labels/keys":{"get":{"operationId":"projectLabelKeys","tags":["Projects"],"description":"Get all label keys used by projects\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":["project:read"]}}},"/api/projects/labels/values":{"get":{"operationId":"projectLabelValues","tags":["Projects"],"description":"Get all label values used by projects\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":["project:read"]}}},"/api/projects":{"post":{"operationId":"createProject","tags":["Projects"],"description":"Create a project. Files produced in its chats are owned by the project rather than the individual author.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:create`](/docs/reference/permissions#project:create): Create projects and schedules, and trigger schedule runs","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64},"description":{"nullable":true,"type":"string","maxLength":200},"icon":{"nullable":true,"type":"string","maxLength":1000000},"defaultAgentId":{"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)$"},"labels":{"default":[],"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"]}}}},"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)$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"viewerRole":{"type":"string","enum":["owner","shared","admin"]},"ownerName":{"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}},"conversationCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"nullable":true,"type":"string","enum":["organization","team","user"]},"shareTeamNames":{"nullable":true,"type":"array","items":{"type":"string"}},"shareUserNames":{"nullable":true,"type":"array","items":{"type":"string"}},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","name","description","icon","viewerRole","ownerName","createdBy","labels","conversationCount","visibility","shareTeamNames","shareUserNames","pinnedAt","createdAt","deletedAt"],"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":["project:create"]}},"get":{"operationId":"getProjects","tags":["Projects"],"description":"List projects the caller can see. `scope` is the project's share visibility: `personal` (private), `team` (shared with teams — narrow with `teamIds`), or `org` (org-wide); omitted = all visible. Admins additionally filter `personal` by owner via `authorIds` / `excludeAuthorIds` (ignored for non-admins). `search` matches name + description. `status=deleted` returns the org-wide soft-deleted projects for a project admin (empty for everyone else); the other filters do not apply to that slice. Paginated: owner-first, then newest, then id.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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","enum":["personal","team","org"]},"in":"query","name":"scope","required":false},{"schema":{"type":"string"},"in":"query","name":"search","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":{"type":"array","items":{"type":"string"}},"in":"query","name":"teamIds","required":false,"description":"Team IDs (comma-separated); only used when scope=team."},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"authorIds","required":false,"description":"Owner user IDs (comma-separated). Admin-only; used with scope=personal."},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"excludeAuthorIds","required":false,"description":"Exclude owner user IDs (comma-separated). Admin-only; used with scope=personal."},{"schema":{"type":"string","enum":["active","deleted"]},"in":"query","name":"status","required":false,"description":"Lifecycle slice: `active` (default) or `deleted` (project admins only; org-wide soft-deleted projects for the restore view)."},{"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."},{"schema":{"type":"boolean"},"in":"query","name":"pinned","required":false,"description":"Only return projects the current user has pinned (true) or has not pinned (false). Omit for both."}],"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)$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"viewerRole":{"type":"string","enum":["owner","shared","admin"]},"ownerName":{"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}},"conversationCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"nullable":true,"type":"string","enum":["organization","team","user"]},"shareTeamNames":{"nullable":true,"type":"array","items":{"type":"string"}},"shareUserNames":{"nullable":true,"type":"array","items":{"type":"string"}},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","name","description","icon","viewerRole","ownerName","createdBy","labels","conversationCount","visibility","shareTeamNames","shareUserNames","pinnedAt","createdAt","deletedAt"],"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":"static","permissions":["project:read"]}}},"/api/projects/from-conversation":{"post":{"operationId":"createProjectFromConversation","tags":["Projects"],"description":"Turn an existing chat into a project: create the project, move the chat into it, and re-point the chat's files to the project. Only the chat's owner may do this, and only for a user chat not already in a project. `name` defaults to the chat title.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:create`](/docs/reference/permissions#project:create): Create projects and schedules, and trigger schedule runs","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"conversationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":64},"description":{"nullable":true,"type":"string","maxLength":200},"icon":{"nullable":true,"type":"string","maxLength":1000000},"labels":{"default":[],"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":["conversationId"]}}}},"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)$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"viewerRole":{"type":"string","enum":["owner","shared","admin"]},"ownerName":{"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}},"conversationCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"nullable":true,"type":"string","enum":["organization","team","user"]},"shareTeamNames":{"nullable":true,"type":"array","items":{"type":"string"}},"shareUserNames":{"nullable":true,"type":"array","items":{"type":"string"}},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","name","description","icon","viewerRole","ownerName","createdBy","labels","conversationCount","visibility","shareTeamNames","shareUserNames","pinnedAt","createdAt","deletedAt"],"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":["project:create"]}}},"/api/projects/{id}":{"get":{"operationId":"getProject","tags":["Projects"],"description":"Project detail. Share team ids are included for the owner only.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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)$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"viewerRole":{"type":"string","enum":["owner","shared","admin"]},"ownerName":{"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}},"conversationCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"nullable":true,"type":"string","enum":["organization","team","user"]},"shareTeamNames":{"nullable":true,"type":"array","items":{"type":"string"}},"shareUserNames":{"nullable":true,"type":"array","items":{"type":"string"}},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"shareTeamIds":{"nullable":true,"type":"array","items":{"type":"string"}},"shareUserIds":{"nullable":true,"type":"array","items":{"type":"string"}},"defaultAgent":{"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)$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"required":["id","name","description","icon","viewerRole","ownerName","createdBy","labels","conversationCount","visibility","shareTeamNames","shareUserNames","pinnedAt","createdAt","deletedAt","shareTeamIds","shareUserIds","defaultAgent"],"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":["project:read"]}},"patch":{"operationId":"updateProject","tags":["Projects"],"description":"Update a project's name, description, icon, and/or default agent (owner or a project admin). Only the provided fields change. The default agent must be an organization-wide chat agent; null clears it.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:update`](/docs/reference/permissions#project:update): Edit project descriptions, instructions, sharing, and schedules","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64},"description":{"nullable":true,"type":"string","maxLength":200},"icon":{"nullable":true,"type":"string","maxLength":1000000},"defaultAgentId":{"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)$"},"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":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":["project:update"]}},"delete":{"operationId":"deleteProject","tags":["Projects"],"description":"Soft-delete a project (owner or a project admin). Its chats detach and survive as ordinary conversations; its files and scheduled tasks are retained but hidden, and a project admin can restore them. Nothing is purged.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:delete`](/docs/reference/permissions#project:delete): Delete projects and schedules","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":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":["project:delete"]}}},"/api/projects/bulk":{"delete":{"operationId":"bulkDeleteProjects","tags":["Projects"],"description":"Soft-delete several projects in one request (owner or project admin per project). As with the single-project delete, their chats detach and survive as ordinary conversations, and their files and scheduled tasks are retained but hidden. Nothing is purged, and a project the caller may not delete 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\n[`project:delete`](/docs/reference/permissions#project:delete): Delete projects and schedules","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":"static","permissions":["project:delete"]}}},"/api/projects/{id}/restore":{"post":{"operationId":"restoreProject","tags":["Projects"],"description":"Restore a soft-deleted project (project admins only). Brings back its retained files and scheduled tasks (schedules resume forward-only, no catch-up runs); chats do NOT re-attach, so the restored project reports zero chats. 404 if there is no soft-deleted project with that id in the org. Deleting frees the display name, so if the owner has since taken it, pass `name` to restore under a different one; restoring into a name that is still taken is a 409.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:delete`](/docs/reference/permissions#project:delete): Delete projects and schedules","requestBody":{"required":true,"content":{"application/json":{"schema":{"nullable":true,"type":"object","properties":{"name":{"description":"Rename the project as it is restored. Use this when its original name was taken while it was deleted.","type":"string"}}}}}},"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)$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"viewerRole":{"type":"string","enum":["owner","shared","admin"]},"ownerName":{"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}},"conversationCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"nullable":true,"type":"string","enum":["organization","team","user"]},"shareTeamNames":{"nullable":true,"type":"array","items":{"type":"string"}},"shareUserNames":{"nullable":true,"type":"array","items":{"type":"string"}},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"shareTeamIds":{"nullable":true,"type":"array","items":{"type":"string"}},"shareUserIds":{"nullable":true,"type":"array","items":{"type":"string"}},"defaultAgent":{"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)$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"required":["id","name","description","icon","viewerRole","ownerName","createdBy","labels","conversationCount","visibility","shareTeamNames","shareUserNames","pinnedAt","createdAt","deletedAt","shareTeamIds","shareUserIds","defaultAgent"],"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":["project:delete"]}}},"/api/projects/{id}/permanent":{"delete":{"operationId":"permanentlyDeleteProject","tags":["Projects"],"description":"Permanently destroy a soft-deleted project (global admins only). Irreversible, with no grace period: the project, its files (records and stored contents), pins, share configuration, and scheduled tasks are all destroyed. Its chats are unaffected — they detached when it was deleted and survive as ordinary conversations. 404 if there is no soft-deleted project with that id in the org, which is also the answer when the project is still live or the caller is not a global admin. Restore wins a race: if a restore commits first, this returns 404 and the project stays.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRestricted to the built-in Admin and Platform Admin roles. No permission grants it: [`project:delete`](/docs/reference/permissions#project:delete), `project:admin`, and ownership of the project all reach the trash, not past it, and a service account never qualifies. A caller without it gets 404, not 403, so the endpoint never confirms the project exists.","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":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":"Restricted to the built-in Admin and Platform Admin roles. No permission grants it: `project:delete`, `project:admin`, and ownership of the project all reach the trash, not past it, and a service account never qualifies. A caller without it gets 404, not 403, so the endpoint never confirms the project exists.","permissions":[]}}},"/api/projects/{id}/files":{"get":{"operationId":"getProjectFiles","tags":["Projects"],"description":"Files owned by the project, readable by anyone with project access.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":"array","items":{"type":"object","properties":{"id":{"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)$"},"downloadRef":{"type":"string"},"filename":{"type":"string"},"mimeType":{"type":"string"},"sizeBytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time"},"downloadable":{"type":"boolean"},"projectId":{"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)$"},"projectName":{"nullable":true,"type":"string"}},"required":["id","downloadRef","filename","mimeType","sizeBytes","createdAt","downloadable","projectId","projectName"],"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":["project:read"]}},"post":{"operationId":"uploadProjectFiles","tags":["Projects"],"description":"Upload one file into the project (drag-and-drop on the Files panel). The bytes are base64-encoded in the body; a colliding name is auto-renamed.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"mimeType":{"type":"string"},"dataBase64":{"type":"string","minLength":1}},"required":["name","mimeType","dataBase64"]}}}},"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)$"},"filename":{"type":"string"},"mimeType":{"type":"string"}},"required":["id","filename","mimeType"],"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":["project:read"]}}},"/api/projects/{id}/instructions":{"get":{"operationId":"getProjectInstructions","tags":["Projects"],"description":"The project's instructions (markdown). Readable by anyone with project access; empty until the owner first saves it. The content is injected into the system prompt of every chat in the project.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":{"content":{"type":"string"}},"required":["content"],"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":["project:read"]}},"put":{"operationId":"setProjectInstructions","tags":["Projects"],"description":"Set the project's instructions (owner only). The first save creates the instructions file; saving empty content keeps it but injects nothing.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:update`](/docs/reference/permissions#project:update): Edit project descriptions, instructions, sharing, and schedules","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","maxLength":100000}},"required":["content"]}}}},"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":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":["project:update"]}}},"/api/projects/{id}/conversations":{"get":{"operationId":"getProjectConversations","tags":["Projects"],"description":"All chats in a project the caller can read. Chats authored by others require `read` on every chat (a grant at `*` on `conversation`); without it the caller sees only their own. `readOnly` marks chats authored by someone else (viewable, never writable).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":"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)$"},"title":{"nullable":true,"type":"string"},"authorUserId":{"type":"string"},"authorName":{"nullable":true,"type":"string"},"origin":{"type":"string","enum":["user","schedule_trigger","app_open"]},"lastMessageAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"readOnly":{"type":"boolean"},"scheduleTriggerId":{"nullable":true,"type":"string"},"scheduleRunId":{"nullable":true,"type":"string"},"scheduleName":{"nullable":true,"type":"string"}},"required":["id","title","authorUserId","authorName","origin","lastMessageAt","createdAt","readOnly","scheduleTriggerId","scheduleRunId","scheduleName"],"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":["project:read"]}}},"/api/projects/{id}/runs":{"get":{"operationId":"getProjectRuns","tags":["Projects"],"description":"All run sessions in a project the caller can read. Sessions started by others require `read` on every chat (a grant at `*` on `conversation`); all non-owner views are read-only.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`agent:read`](/docs/reference/permissions#agent:read): Open Agents, and use the code sandboxes and files of agents you can use\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":"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"},"taskId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"agentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"actorKind":{"type":"string","enum":["user","team","organization","oauthClient","serviceAccount","system"]},"actorId":{"type":"string"},"actorUserId":{"nullable":true,"type":"string"},"title":{"type":"string"},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"projectId":{"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)$"},"workloadName":{"type":"string"},"backend":{"type":"string","enum":["kubernetes"]},"runtimeScope":{"type":"string"},"runtimeLimits":{"nullable":true,"type":"object","properties":{"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"idleTimeoutMinutes":{"type":"integer","minimum":1,"maximum":9007199254740991},"maxDurationHours":{"type":"integer","minimum":1,"maximum":9007199254740991},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":9007199254740991},"workspaceGiB":{"description":"Size of the run's workspace volume in GiB, recorded when the workspace was created. Absent on runs whose workspace predates recorded sizes.","type":"number","minimum":0}},"required":["tier","idleTimeoutMinutes","maxDurationHours","maxCostUsd"],"additionalProperties":false},"attentionState":{"anyOf":[{"type":"string","enum":["input_required","auth_required"]},{"type":"string","nullable":true,"enum":[null]}]},"virtualApiKeyId":{"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)$"},"gatewayTokenId":{"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)$"},"startedAt":{"type":"string","format":"date-time"},"endedAt":{"nullable":true,"type":"string","format":"date-time"},"state":{"type":"string","enum":["TASK_STATE_UNSPECIFIED","TASK_STATE_SUBMITTED","TASK_STATE_WORKING","TASK_STATE_COMPLETED","TASK_STATE_FAILED","TASK_STATE_CANCELED","TASK_STATE_INPUT_REQUIRED","TASK_STATE_REJECTED","TASK_STATE_AUTH_REQUIRED"]},"statusReason":{"nullable":true,"type":"string"},"failure":{"nullable":true,"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":160},"retriable":{"type":"boolean"},"message":{"type":"string"}},"required":["code","retriable","message"],"additionalProperties":false},"stateChangedAt":{"nullable":true,"type":"string","format":"date-time"},"hardDeadlineAt":{"type":"string","format":"date-time"},"lastModelActivityAt":{"nullable":true,"type":"string","format":"date-time"},"sessionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"llmSessionId":{"type":"string","description":"Key of the run's LLM logs (/llm/logs/:id): the session id its runtime sends"},"prompt":{"type":"string"},"agent":{"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"},"icon":{"nullable":true,"type":"string"}},"required":["id","name","icon"],"additionalProperties":false},"projectName":{"nullable":true,"type":"string"},"projectIcon":{"nullable":true,"type":"string"},"terminalRetained":{"type":"boolean"},"portForwardCommand":{"nullable":true,"type":"string"},"workspace":{"nullable":true,"type":"object","properties":{"state":{"type":"string","enum":["active","idle","suspending","suspended","resuming","deleting","deleted"]},"expiresAt":{"type":"string","format":"date-time"},"idleAt":{"nullable":true,"type":"string","format":"date-time"},"connection":{"nullable":true,"type":"object","properties":{"hostname":{"type":"string"},"shellCommand":{"type":"string"}},"required":["hostname","shellCommand"],"additionalProperties":false}},"required":["state","expiresAt","idleAt","connection"],"additionalProperties":false},"viewerRole":{"type":"string","enum":["owner","shared"]},"canAttach":{"type":"boolean"},"startupProgress":{"nullable":true,"type":"object","properties":{"phase":{"type":"string","enum":["queued","scheduling","pulling","starting","attaching"]},"message":{"type":"string"},"detail":{"nullable":true,"type":"string"},"resourceName":{"nullable":true,"type":"string"}},"required":["phase","message","detail","resourceName"],"additionalProperties":false}},"required":["id","organizationId","taskId","agentId","actorKind","actorId","actorUserId","title","pinnedAt","projectId","workloadName","backend","runtimeScope","runtimeLimits","attentionState","virtualApiKeyId","gatewayTokenId","startedAt","endedAt","state","statusReason","failure","stateChangedAt","hardDeadlineAt","lastModelActivityAt","sessionId","llmSessionId","prompt","agent","projectName","projectIcon","terminalRetained","viewerRole"],"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":["agent:read","project:read"]}}},"/api/projects/{id}/pin":{"put":{"operationId":"pinProject","tags":["Projects"],"description":"Pin a project to the current user's sidebar. Personal — does not affect other members. Any user who can read the project may pin it.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":["project:read"]}},"delete":{"operationId":"unpinProject","tags":["Projects"],"description":"Remove the current user's pin on a project. Idempotent; allowed even if the project was since unshared from the user.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":["project:read"]}}},"/api/projects/{id}/apps":{"get":{"operationId":"getProjectApps","tags":["Projects"],"description":"Apps linked into the project. Each member sees only the linked apps they can read themselves.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`app:read`](/docs/reference/permissions#app:read): Open Apps\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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":"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"},"slug":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"linkedAt":{"type":"string","format":"date-time"}},"required":["id","name","slug","description","linkedAt"],"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":["app:read","project:read"]}}},"/api/projects/{id}/apps/{appId}":{"put":{"operationId":"linkProjectApp","tags":["Projects"],"description":"Link an app into the project. Any project member who can read the app may link it; the app keeps its own permissions. Idempotent.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`app:read`](/docs/reference/permissions#app:read): Open Apps\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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},{"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":"appId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":["app:read","project:read"]}},"delete":{"operationId":"unlinkProjectApp","tags":["Projects"],"description":"Unlink an app from the project. The app itself is not changed.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`app:read`](/docs/reference/permissions#app:read): Open Apps\n[`project:read`](/docs/reference/permissions#project:read): View projects, their schedules, and your own sessions inside them","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},{"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":"appId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"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":["app:read","project:read"]}}},"/api/sessions/bulk":{"delete":{"operationId":"bulkRevokeSessions","tags":["Sessions"],"description":"Revoke several non-current sessions belonging to the authenticated user in one request. Sessions belonging to another user and the current session are reported in `failed`; the rest are revoked.\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","minLength":1},"description":"Session ids to revoke. 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":[]}}}},"tags":[{"name":"Projects"},{"name":"Chat"},{"name":"ChatOps"},{"name":"ChatOps Webhooks"},{"name":"Incoming Email"},{"name":"Sessions"},{"name":"Webhooks"}]}