{"openapi":"3.0.0","info":{"title":"Archestra — Agents","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/agents/{agentId}/a2a-delegations":{"get":{"operationId":"getAgentA2aDelegations","tags":["Agent Delegations"],"description":"List external A2A agents explicitly assigned as subagents.\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":{"remoteAgentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"toolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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"},"enabled":{"type":"boolean"}},"required":["remoteAgentId","connectionId","toolId","name","description","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":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"syncAgentA2aDelegations","tags":["Agent Delegations"],"description":"Replace an agent's explicit external A2A subagent assignments.\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":{"connectionIds":{"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["connectionIds"]}}}},"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":{"added":{"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)$"}},"removed":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["added","removed"],"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/agent-catalog":{"get":{"operationId":"getAgentCatalog","tags":["Agents"],"description":"List internal and external A2A agents for the Agents page.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`agent:read`](/docs/reference/permissions#agent:read); when `status=deleted`, requires [`agent:delete`](/docs/reference/permissions#agent:delete). External A2A rows are limited to agents visible to the caller unless they have [`organizationSettings:update`](/docs/reference/permissions#organizationSettings:update); when `selectableOnly=true`, external rows are omitted unless the caller has that permission.","parameters":[{"schema":{"type":"string"},"in":"query","name":"name","required":false},{"schema":{"type":"string","enum":["personal","team","org","built_in"]},"in":"query","name":"scope","required":false},{"schema":{"type":"boolean"},"in":"query","name":"includeBuiltIn","required":false,"description":"Also list the built-in agents. Applies to agent admins only, and the access filter does not apply to these agents."},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"teamIds","required":false},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"authorIds","required":false},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"excludeAuthorIds","required":false},{"schema":{"type":"boolean"},"in":"query","name":"excludeOtherPersonalAgents","required":false},{"schema":{"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"ids","required":false,"description":"Only these agents (comma-separated IDs), such as the viewer's automatic pins."},{"schema":{"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"excludeIds","required":false,"description":"Leave these agents out (comma-separated IDs), such as the ones the list already shows as automatic pins."},{"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":"selectableOnly","required":false,"description":"When true, omit external A2A agents unless the caller can manage external-agent settings. Used to enumerate rows for bulk selection on the Agents page."},{"schema":{"type":"string"},"in":"query","name":"labels","required":false},{"schema":{"type":"string","enum":["active","deleted"]},"in":"query","name":"status","required":false},{"schema":{"type":"string","enum":["chat","custom","claude-code","codex","opencode","hermes","openclaw","grok","kimi","copilot"]},"in":"query","name":"runtime","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"string","enum":["organization-default"]}]},"in":"query","name":"providerApiKeyId","required":false},{"schema":{"type":"boolean"},"in":"query","name":"pinned","required":false,"description":"Filter internal agents by the current user's pins. Pinned results exclude external A2A agents and are ordered by newest pin first."},{"schema":{"type":"boolean"},"in":"query","name":"includeTools","required":false,"description":"Include each internal agent's assigned tools (default: true). Set `includeTools=false` for a smaller response when you only need agents or their counts. `toolsCount` and `subagentsCount` remain available; an empty `tools` array then means tools were omitted, not that none are assigned."},{"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":["name","createdAt","team","toolsCount","subagentsCount","lastUsedAt"]},"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":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["agent"]},"value":{"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"toolsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Assigned tools other than subagent delegations, as the Agents and MCP Gateways pages count them. Always present, even when `tools` is not requested."},"subagentsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Agents this agent delegates to. Always present, even when `tools` is not requested."}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts","pinnedAt","toolsCount","subagentsCount"],"additionalProperties":false}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["external"]},"value":{"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"},"authorId":{"nullable":true,"type":"string"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"discoveryMode":{"type":"string","enum":["well_known","card_url","inline_card"]},"discoveryUrl":{"nullable":true,"type":"string"},"agentCard":{"type":"object","additionalProperties":{}},"cardHash":{"type":"string"},"lastDiscoveredAt":{"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"connection":{"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)$"},"remoteAgentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"selectedInterface":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"protocolBinding":{"type":"string","enum":["JSONRPC","HTTP+JSON"]},"protocolVersion":{"type":"string","minLength":1},"tenant":{"type":"string"}},"required":["url","protocolBinding","protocolVersion"],"additionalProperties":false},"securityRequirement":{"nullable":true,"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"authType":{"type":"string","enum":["none","bearer","api_key"]},"authConfig":{"type":"object","properties":{"headerName":{"type":"string","minLength":1}},"additionalProperties":false},"enabled":{"type":"boolean"},"lastVerifiedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"hasCredential":{"type":"boolean"}},"required":["id","remoteAgentId","selectedInterface","securityRequirement","authType","authConfig","enabled","lastVerifiedAt","createdAt","updatedAt","hasCredential"],"additionalProperties":false},"toolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"assignmentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"authorName":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"required":["id","organizationId","authorId","name","description","discoveryMode","discoveryUrl","agentCard","cardHash","lastDiscoveredAt","createdByServiceAccountId","createdAt","updatedAt","connection","toolId","assignmentCount","lastUsedAt","authorName","createdBy"],"additionalProperties":false}},"required":["type","value"],"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},"totals":{"type":"object","properties":{"agents":{"type":"integer","minimum":0,"maximum":9007199254740991},"externalAgents":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["agents","externalAgents"],"additionalProperties":false}},"required":["data","pagination","totals"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `agent:read`; when `status=deleted`, requires `agent:delete`. External A2A rows are limited to agents visible to the caller unless they have `organizationSettings:update`; when `selectableOnly=true`, external rows are omitted unless the caller has that permission.","permissions":[]}}},"/api/agents":{"get":{"operationId":"getAgents","tags":["Agents"],"description":"Get all agents with pagination, sorting, and filtering\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nChecked dynamically based on agent type. `profile` and `agent` require [`agent:read`](/docs/reference/permissions#agent:read); `mcp_gateway` requires [`mcpGateway:read`](/docs/reference/permissions#mcpGateway:read). If no type filter is provided, the user must have read access to at least one agent type.","parameters":[{"schema":{"type":"string"},"in":"query","name":"name","required":false,"description":"Filter by agent name"},{"schema":{"type":"boolean"},"in":"query","name":"includeBuiltIn","required":false,"description":"Include built-in agents, so ids assigned elsewhere still resolve. Only agent admins see them; ignored with `scope`."},{"schema":{"type":"string","enum":["chat"]},"in":"query","name":"view","required":false,"description":"`chat` keeps the system chat assistant in the list for chat selection."},{"schema":{"type":"string","enum":["profile","mcp_gateway","agent"]},"in":"query","name":"agentType","required":false,"description":"Filter by agent type. 'profile' = external API gateway profiles, 'mcp_gateway' = MCP gateway, 'agent' = internal agents with prompts."},{"schema":{"type":"array","items":{"type":"string","enum":["profile","mcp_gateway","agent"]}},"in":"query","name":"agentTypes","required":false,"description":"Filter by multiple agent types (comma-separated). Takes precedence over agentType if both provided."},{"schema":{"type":"string","enum":["personal","team","org","built_in"]},"in":"query","name":"scope","required":false,"description":"Filter by scope: personal, team, org, or built_in."},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"teamIds","required":false,"description":"Filter by specific team IDs (comma-separated). Only used when scope=team."},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"authorIds","required":false,"description":"Filter by author user IDs (comma-separated). Admin-only, only used when scope=personal."},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"excludeAuthorIds","required":false,"description":"Exclude agents by author user IDs (comma-separated). Admin-only, only used when scope=personal."},{"schema":{"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"ids","required":false,"description":"Only these agents (comma-separated IDs), such as the viewer's automatic pins."},{"schema":{"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"excludeIds","required":false,"description":"Leave these agents out (comma-separated IDs), such as the ones the list already shows as automatic pins."},{"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":"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":"boolean"},"in":"query","name":"excludeOtherPersonalAgents","required":false,"description":"Hide personal agents owned by other users. Admin-only; no-op for non-admins."},{"schema":{"type":"string","enum":["active","deleted"]},"in":"query","name":"status","required":false,"description":"Filter by lifecycle status. Deleted rows require delete permission."},{"schema":{"type":"boolean"},"in":"query","name":"includeActivationSkillsCount","required":false,"description":"Include the caller-relative activation skill count used by internal-agent cards. Omitted when the caller lacks skill:read."},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"string","enum":["organization-default"]}]},"in":"query","name":"providerApiKeyId","required":false,"description":"Filter by a configured provider key, or organization-default for agents with no pinned key or model."},{"schema":{"type":"boolean"},"in":"query","name":"pinned","required":false,"description":"Filter by the current user's pins. Pinned results are ordered by newest pin first; unpinned results keep the requested sort."},{"schema":{"type":"boolean"},"in":"query","name":"includeTools","required":false,"description":"Include assigned tools (default: true). Set `includeTools=false` for a smaller response when you only need agents or their counts. `toolsCount` and `subagentsCount` remain available; an empty `tools` array then means tools were omitted, not that none are assigned."},{"schema":{"type":"boolean"},"in":"query","name":"includeTotal","required":false,"description":"Count every matching agent for `pagination.total`. Defaults to true. Pass false from lists that never show a total, such as pinned rows. With false, the count is skipped and `hasNext` stays exact. `total` is then a lower bound: the agents up to this page, plus one when more follow."},{"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":["name","createdAt","toolsCount","subagentsCount","knowledgeSourcesCount","team","lastUsedAt"]},"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"pinnedAt":{"nullable":true,"type":"string","format":"date-time"},"toolsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Assigned tools other than subagent delegations, as the Agents and MCP Gateways pages count them. Always present, even when `tools` is not requested."},"subagentsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Agents this agent delegates to. Always present, even when `tools` is not requested."}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts","pinnedAt","toolsCount","subagentsCount"],"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":"dynamic","note":"Checked dynamically based on agent type. `profile` and `agent` require `agent:read`; `mcp_gateway` requires `mcpGateway:read`. If no type filter is provided, the user must have read access to at least one agent type.","permissions":[]}},"post":{"operationId":"createAgent","tags":["Agents"],"description":"Create a new agent\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nChecked dynamically based on the agent type being created. `profile` and `agent` require [`agent:create`](/docs/reference/permissions#agent:create); `mcp_gateway` requires [`mcpGateway:create`](/docs/reference/permissions#mcpGateway:create). Grants on the agent may further restrict the request.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string"},"name":{"type":"string"},"isDefault":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":253,"pattern":"^(\\*\\.)?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$"}},"allowedCidrs":{"maxItems":500,"type":"array","items":{"type":"string"}}}},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"]}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"]}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"]},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"]},"passthroughHeaders":{"nullable":true,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$"}},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":1,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}}},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"]},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"]},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"]},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"]},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"]}]},"deletedAt":{"nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"knowledgeBaseIds":{"default":[],"type":"array","items":{"type":"string"}},"connectorIds":{"default":[],"type":"array","items":{"type":"string"}},"suggestedPrompts":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"]}},"activationSkillPolicy":{"type":"object","properties":{"mode":{"type":"string","enum":["all","manual"]},"allowedReferences":{"default":[],"maxItems":1000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"]},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"]},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"]}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."}},"excludedReferences":{"default":[],"maxItems":1000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"]},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"]},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"]}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."}}},"required":["mode"]},"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"]}},"scope":{"not":{}},"teams":{"not":{}},"users":{"not":{}}},"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)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts"],"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":"Checked dynamically based on the agent type being created. `profile` and `agent` require `agent:create`; `mcp_gateway` requires `mcpGateway:create`. Grants on the agent may further restrict the request.","permissions":[]}}},"/api/agents/{id}/pin":{"put":{"operationId":"pinAgent","tags":["Agents"],"description":"Pin an agent for the current user. Personal — does not affect other members. Any user who can read the agent 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\nChecked dynamically based on the target agent's type and the caller's visibility. `profile` and `agent` require [`agent:read`](/docs/reference/permissions#agent:read); `mcp_gateway` requires [`mcpGateway:read`](/docs/reference/permissions#mcpGateway:read).","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":"Checked dynamically based on the target agent's type and the caller's visibility. `profile` and `agent` require `agent:read`; `mcp_gateway` requires `mcpGateway:read`.","permissions":[]}},"delete":{"operationId":"unpinAgent","tags":["Agents"],"description":"Remove the current user's pin on an agent. Idempotent and intentionally has no visibility check so stale pins can still be cleared.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"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":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/chat-roster":{"get":{"operationId":"getChatAgentRoster","tags":["Agents"],"description":"Get authorized chat agent identities and model references. With `bootstrap`, the starting roster plus the caller's and the organization's default agents the caller can use.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nRequires [`agent:read`](/docs/reference/permissions#agent:read); only internal agents visible to the caller are returned.","parameters":[{"schema":{"type":"boolean"},"in":"query","name":"bootstrap","required":false},{"schema":{"maxItems":100,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"ids","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"authorId":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"builtIn":{"nullable":true,"type":"boolean"},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"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)$"},"llmApiKeyId":{"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)$"}},"required":["id","organizationId","name","description","icon","scope","authorId","agentType","builtIn","builtInAgentConfig","runtime","modelId","llmApiKeyId","modelPoolId"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Requires `agent:read`; only internal agents visible to the caller are returned.","permissions":[]}}},"/api/agents/chat-roster/page":{"get":{"operationId":"getChatAgentRosterPage","tags":["Agents"],"description":"Fetch bounded authorized chat choices with literal name or description search.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false},{"schema":{"type":"string","maxLength":512},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["createdAt","name","chat"]},"in":"query","name":"sortBy","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"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"authorId":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"builtIn":{"nullable":true,"type":"boolean"},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"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)$"},"llmApiKeyId":{"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)$"}},"required":["id","organizationId","name","description","icon","scope","authorId","agentType","builtIn","builtInAgentConfig","runtime","modelId","llmApiKeyId","modelPoolId"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextCursor":{"nullable":true,"type":"string"},"hasNext":{"type":"boolean"}},"required":["limit","nextCursor","hasNext"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/options":{"get":{"operationId":"getAgentOptions","tags":["Agents"],"description":"List authorized agent options one page at a time. Filter by up to 200 IDs; pages hold up to 1,000 items.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nChecked dynamically based on agent type. `profile` and `agent` require [`agent:read`](/docs/reference/permissions#agent:read); `mcp_gateway` requires [`mcpGateway:read`](/docs/reference/permissions#mcpGateway:read). If no type filter is provided, the user must have read access to at least one agent type.","parameters":[{"schema":{"type":"string","enum":["profile","mcp_gateway","agent"]},"in":"query","name":"agentType","required":false,"description":"Filter by agent type. 'profile' = external API gateway profiles, 'mcp_gateway' = MCP gateway, 'agent' = internal agents with prompts."},{"schema":{"type":"array","items":{"type":"string","enum":["profile","mcp_gateway","agent"]}},"in":"query","name":"agentTypes","required":false,"description":"Filter by multiple agent types (comma-separated). Takes precedence over agentType if both provided."},{"schema":{"type":"boolean"},"in":"query","name":"excludeBuiltIn","required":false,"description":"Exclude built-in agents from the results, except the system chat assistant in chat view. Defaults to false."},{"schema":{"type":"string","enum":["personal","team","org","built_in"]},"in":"query","name":"scope","required":false,"description":"Filter by scope: personal, team, org, or built_in."},{"schema":{"type":"boolean"},"in":"query","name":"excludeOtherPersonalAgents","required":false,"description":"Hide personal agents owned by other users. Admin-only; no-op for non-admins (their access control already excludes them)."},{"schema":{"type":"string","enum":["active","deleted"]},"in":"query","name":"status","required":false,"description":"Filter by lifecycle status. Deleted rows require delete permission."},{"schema":{"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"ids","required":false},{"schema":{"default":100,"type":"integer","minimum":1,"maximum":1000},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","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)$"},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"icon":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"authorId":{"nullable":true,"type":"string"},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"nullable":true,"type":"string"},"isPersonalGateway":{"type":"boolean"},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"description":{"nullable":true,"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}},"required":["id","name","slug","agentType","icon","scope","authorId","isPersonalGateway","runtime","description","teams","users"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextCursor":{"nullable":true,"type":"string"},"hasNext":{"type":"boolean"}},"required":["limit","nextCursor","hasNext"],"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":"dynamic","note":"Checked dynamically based on agent type. `profile` and `agent` require `agent:read`; `mcp_gateway` requires `mcpGateway:read`. If no type filter is provided, the user must have read access to at least one agent type.","permissions":[]}}},"/api/agents/options/page":{"get":{"operationId":"getAgentOptionsPage","tags":["Agents"],"description":"Fetch a bounded authorized agent selector page with server-side search and eligibility filters.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","enum":["profile","mcp_gateway","agent"]},"in":"query","name":"agentType","required":false,"description":"Filter by agent type. 'profile' = external API gateway profiles, 'mcp_gateway' = MCP gateway, 'agent' = internal agents with prompts."},{"schema":{"type":"array","items":{"type":"string","enum":["profile","mcp_gateway","agent"]}},"in":"query","name":"agentTypes","required":false,"description":"Filter by multiple agent types (comma-separated). Takes precedence over agentType if both provided."},{"schema":{"type":"boolean"},"in":"query","name":"excludeBuiltIn","required":false,"description":"Exclude built-in agents from the results, except the system chat assistant in chat view. Defaults to false."},{"schema":{"type":"string","enum":["personal","team","org","built_in"]},"in":"query","name":"scope","required":false,"description":"Filter by scope: personal, team, org, or built_in."},{"schema":{"type":"boolean"},"in":"query","name":"excludeOtherPersonalAgents","required":false,"description":"Hide personal agents owned by other users. Admin-only; no-op for non-admins (their access control already excludes them)."},{"schema":{"type":"string","enum":["active","deleted"]},"in":"query","name":"status","required":false,"description":"Filter by lifecycle status. Deleted rows require delete permission."},{"schema":{"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"ids","required":false},{"schema":{"type":"string","maxLength":512},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["name","selector","name_or_description"]},"in":"query","name":"searchMode","required":false},{"schema":{"type":"string","enum":["createdAt","name"]},"in":"query","name":"sortBy","required":false},{"schema":{"type":"string"},"in":"query","name":"exactName","required":false},{"schema":{"type":"string"},"in":"query","name":"authorId","required":false},{"schema":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"excludeIds","required":false},{"schema":{"type":"string"},"in":"query","name":"runtimeCommand","required":false},{"schema":{"type":"boolean"},"in":"query","name":"onlyOwnPersonalAgents","required":false},{"schema":{"type":"boolean"},"in":"query","name":"excludePersonalGateways","required":false},{"schema":{"type":"string","enum":["none","organization","team","user"]},"in":"query","name":"audienceVisibility","required":false},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"audienceTeamIds","required":false},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"audienceUserIds","required":false},{"schema":{"type":"boolean"},"in":"query","name":"audienceEditorIsOwner","required":false},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","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)$"},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"icon":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"authorId":{"nullable":true,"type":"string"},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"nullable":true,"type":"string"},"isPersonalGateway":{"type":"boolean"},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"description":{"nullable":true,"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}},"required":["id","name","slug","agentType","icon","scope","authorId","isPersonalGateway","runtime","description","teams","users"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextCursor":{"nullable":true,"type":"string"},"hasNext":{"type":"boolean"}},"required":["limit","nextCursor","hasNext"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/options/ids":{"get":{"operationId":"getAgentOptionIds","tags":["Agents"],"description":"Fetch complete authorized selector IDs for an explicit select-all action without presentation metadata.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","enum":["profile","mcp_gateway","agent"]},"in":"query","name":"agentType","required":false,"description":"Filter by agent type. 'profile' = external API gateway profiles, 'mcp_gateway' = MCP gateway, 'agent' = internal agents with prompts."},{"schema":{"type":"array","items":{"type":"string","enum":["profile","mcp_gateway","agent"]}},"in":"query","name":"agentTypes","required":false,"description":"Filter by multiple agent types (comma-separated). Takes precedence over agentType if both provided."},{"schema":{"type":"boolean"},"in":"query","name":"excludeBuiltIn","required":false,"description":"Exclude built-in agents from the results, except the system chat assistant in chat view. Defaults to false."},{"schema":{"type":"string","enum":["personal","team","org","built_in"]},"in":"query","name":"scope","required":false,"description":"Filter by scope: personal, team, org, or built_in."},{"schema":{"type":"boolean"},"in":"query","name":"excludeOtherPersonalAgents","required":false,"description":"Hide personal agents owned by other users. Admin-only; no-op for non-admins (their access control already excludes them)."},{"schema":{"type":"string","enum":["active","deleted"]},"in":"query","name":"status","required":false,"description":"Filter by lifecycle status. Deleted rows require delete permission."},{"schema":{"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"ids","required":false},{"schema":{"type":"string","maxLength":512},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["name","selector","name_or_description"]},"in":"query","name":"searchMode","required":false},{"schema":{"type":"string","enum":["createdAt","name"]},"in":"query","name":"sortBy","required":false},{"schema":{"type":"string"},"in":"query","name":"exactName","required":false},{"schema":{"type":"string"},"in":"query","name":"authorId","required":false},{"schema":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"excludeIds","required":false},{"schema":{"type":"string"},"in":"query","name":"runtimeCommand","required":false},{"schema":{"type":"boolean"},"in":"query","name":"onlyOwnPersonalAgents","required":false},{"schema":{"type":"boolean"},"in":"query","name":"excludePersonalGateways","required":false},{"schema":{"type":"string","enum":["none","organization","team","user"]},"in":"query","name":"audienceVisibility","required":false},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"audienceTeamIds","required":false},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"audienceUserIds","required":false},{"schema":{"type":"boolean"},"in":"query","name":"audienceEditorIsOwner","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"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)$"}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"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/agents/credential-readiness":{"get":{"operationId":"getAgentCredentialReadiness","tags":["Agents"],"description":"For each internal agent that enforces a missing-credential behavior, the MCP servers the calling user has no usable connection to\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":{"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"ids","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"missingConnections":{"type":"array","items":{"type":"object","properties":{"catalogId":{"type":"string"},"catalogName":{"type":"string"}},"required":["catalogId","catalogName"],"additionalProperties":false}}},"required":["agentId","missingCredentialBehavior","missingConnections"],"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/agents/import":{"post":{"operationId":"importAgent","tags":["Agents"],"description":"Import an agent from a portable JSON payload. Creates a new agent with all resolvable associations and returns soft warnings for any references that could not be found.\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":{"version":{"type":"string","enum":["1"],"description":"Schema version for forward compatibility"},"exportedAt":{"type":"string","description":"ISO 8601 timestamp"},"sourceInstance":{"description":"Informational: hostname of the source instance","nullable":true,"type":"string"},"agent":{"type":"object","properties":{"name":{"type":"string"},"agentType":{"type":"string","enum":["agent"],"description":"Only internal agents are exportable"},"description":{"nullable":true,"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"],"description":"Original scope; imports always default to personal"},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"default":false,"type":"boolean"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"passthroughHeaders":{"nullable":true,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$"}}},"required":["name","agentType","description","systemPrompt","icon","scope","toolExposureMode","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain"]},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]}},"suggestedPrompts":{"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string"},"prompt":{"type":"string"}},"required":["summaryTitle","prompt"]}},"tools":{"type":"array","items":{"type":"object","properties":{"toolName":{"type":"string","description":"Tool name as registered in the MCP catalog"},"catalogName":{"nullable":true,"description":"MCP catalog item name (null for proxy-sniffed tools)","type":"string"},"credentialResolutionMode":{"description":"How credentials are resolved for this tool assignment","type":"string","enum":["static","dynamic","enterprise_managed"]}},"required":["toolName","catalogName"]}},"delegations":{"type":"array","items":{"type":"object","properties":{"targetAgentName":{"type":"string","description":"Name of the target agent for delegation"}},"required":["targetAgentName"]}},"knowledgeBases":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Knowledge base name"}},"required":["name"]}},"connectors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Connector name"},"connectorType":{"anyOf":[{"type":"string","enum":["jira"]},{"type":"string","enum":["confluence"]},{"type":"string","enum":["github"]},{"type":"string","enum":["gitlab"]},{"type":"string","enum":["servicenow"]},{"type":"string","enum":["notion"]},{"type":"string","enum":["sharepoint"]},{"type":"string","enum":["gdrive"]},{"type":"string","enum":["dropbox"]},{"type":"string","enum":["onedrive"]},{"type":"string","enum":["asana"]},{"type":"string","enum":["linear"]},{"type":"string","enum":["outline"]},{"type":"string","enum":["salesforce"]},{"type":"string","enum":["web_crawler"]},{"type":"string","enum":["perforce"]},{"type":"string","enum":["mfiles"]},{"type":"string","enum":["file_upload"]}],"description":"Connector type (e.g. confluence, github)"}},"required":["name","connectorType"]}}},"required":["version","exportedAt","agent","labels","suggestedPrompts","tools","delegations","knowledgeBases","connectors"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"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)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts"],"additionalProperties":false},"warnings":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["tool","knowledgeBase","connector","delegation"]},"name":{"type":"string"},"message":{"type":"string"}},"required":["type","name","message"],"additionalProperties":false}}},"required":["agent","warnings"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/{id}":{"get":{"operationId":"getAgent","tags":["Agents"],"description":"Get agent by ID\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nChecked dynamically based on the target agent's type. `profile` and `agent` require [`agent:read`](/docs/reference/permissions#agent:read); `mcp_gateway` requires [`mcpGateway:read`](/docs/reference/permissions#mcpGateway:read).","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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts"],"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":"Checked dynamically based on the target agent's type. `profile` and `agent` require `agent:read`; `mcp_gateway` requires `mcpGateway:read`.","permissions":[]}},"put":{"operationId":"updateAgent","tags":["Agents"],"description":"Update an agent\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nChecked dynamically based on the target agent's type. `profile` and `agent` require `agent:update`; `mcp_gateway` requires `mcpGateway:update`. Grants on the agent may further restrict the request.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string"},"name":{"type":"string"},"isDefault":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":253,"pattern":"^(\\*\\.)?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$"}},"allowedCidrs":{"maxItems":500,"type":"array","items":{"type":"string"}}}},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"]}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"]}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"]},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"]},"passthroughHeaders":{"nullable":true,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string","minLength":1,"maxLength":200},"repositories":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"string","maxLength":140,"pattern":"^[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})\\/(?:[A-Za-z0-9._-]{1,100}|\\*)$"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"string","maxLength":400,"pattern":"^[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})\\/[A-Za-z0-9._-]{1,100}\\/\\.github\\/workflows\\/[A-Za-z0-9._/-]+\\.ya?ml@(?:refs\\/heads\\/[^\\s@]+|refs\\/tags\\/[^\\s@]+|[0-9a-f]{40})$"}}},"required":["githubAppCredentialKey","repositories","workflows"]},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":1,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}}},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"]},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"]},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"]},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"]},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"]}]},"deletedAt":{"nullable":true},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"]}},"scope":{"not":{}},"teams":{"not":{}},"users":{"not":{}}}}}}},"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts"],"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":"Checked dynamically based on the target agent's type. `profile` and `agent` require `agent:update`; `mcp_gateway` requires `mcpGateway:update`. Grants on the agent may further restrict the request.","permissions":[]}},"delete":{"operationId":"deleteAgent","tags":["Agents"],"description":"Delete an agent\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nChecked dynamically based on the target agent's type. `profile` and `agent` require [`agent:delete`](/docs/reference/permissions#agent:delete); `mcp_gateway` requires [`mcpGateway:delete`](/docs/reference/permissions#mcpGateway:delete). Additional scope checks may apply.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Checked dynamically based on the target agent's type. `profile` and `agent` require `agent:delete`; `mcp_gateway` requires `mcpGateway:delete`. Additional scope checks may apply.","permissions":[]}}},"/api/agents/{id}/default-suggested-prompts":{"get":{"operationId":"getAgentDefaultSuggestedPrompts","tags":["Agents"],"description":"Suggested prompts the platform offers for an agent that has none of its own. They are not stored on the agent.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"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/agents/{id}/versions":{"get":{"operationId":"getAgentVersions","tags":["Agents"],"description":"List an agent's config version history, newest first, as metadata only (no snapshot). Retention keeps the last 100 versions, so the oldest listed version may be greater than 1.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":{"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)$"},"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)$"},"version":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"contentHash":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","agentId","version","contentHash","createdAt"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"currentPage":{"type":"integer","minimum":1,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"hasNext":{"type":"boolean"},"hasPrev":{"type":"boolean"}},"required":["currentPage","limit","total","totalPages","hasNext","hasPrev"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/{id}/versions/{version}":{"get":{"operationId":"getAgentVersion","tags":["Agents"],"description":"Get one immutable agent config version (full snapshot; key material is never captured). Versions dropped by retention are 404.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":2147483647},"in":"path","name":"version","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)$"},"version":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"snapshot":{"type":"object","properties":{"agentType":{"type":"string"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"toolExposureMode":{"type":"string"},"missingCredentialBehavior":{"default":"allow","type":"string"},"accessAllTools":{"type":"boolean"},"accessAllSubagents":{"type":"boolean"},"activationSkillMode":{"default":"all","type":"string","enum":["all","manual"]},"passthroughHeaders":{"type":"array","items":{"type":"string"}},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string"},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"builtInAgentConfig":{},"model":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"string"}},"required":["id","externalId"],"additionalProperties":false},"llmApiKey":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"}},"required":["id","name","provider"],"additionalProperties":false},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string"},"networkPolicy":{"default":null,"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"subagentLoadBalancing":{"default":null,"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"tools":{"type":"array","items":{"type":"object","properties":{"toolId":{"type":"string"},"name":{"type":"string"},"mcpServerId":{"nullable":true,"type":"string"},"credentialResolutionMode":{"type":"string"}},"required":["toolId","name","mcpServerId","credentialResolutionMode"],"additionalProperties":false}},"excludedTools":{"type":"array","items":{"type":"object","properties":{"toolId":{"type":"string"},"name":{"type":"string"}},"required":["toolId","name"],"additionalProperties":false}},"excludedSubagents":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"name":{"type":"string"}},"required":["agentId","name"],"additionalProperties":false}},"suggestedPrompts":{"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string"},"prompt":{"type":"string"}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"hooks":{"type":"array","items":{"type":"object","properties":{"event":{"type":"string"},"fileName":{"type":"string"},"content":{"type":"string"},"requirements":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"}},"required":["event","fileName","content","requirements","enabled"],"additionalProperties":false}},"knowledgeBases":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"connectors":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"excludedConnectors":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"activationSkillRuleCounts":{"type":"object","properties":{"allowed":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["allowed","excluded"],"additionalProperties":false},"activationSkillRuleDigest":{"type":"string","minLength":64,"maxLength":64}},"required":["agentType","name","description","icon","systemPrompt","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSubagents","activationSkillMode","passthroughHeaders","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","builtInAgentConfig","model","llmApiKey","identityProviderId","environmentId","networkPolicy","subagentLoadBalancing","tools","excludedTools","excludedSubagents","suggestedPrompts","hooks","knowledgeBases","connectors","excludedConnectors","activationSkillRuleCounts","activationSkillRuleDigest"],"additionalProperties":false},"contentHash":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","agentId","version","snapshot","contentHash","createdAt"],"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/agents/{id}/versions/{version}/restore":{"post":{"operationId":"restoreAgentVersion","tags":["Agents"],"description":"Restore an agent's config to an earlier version by replaying its snapshot forward as a new head version — history is never rewritten. All-or-nothing: the restore is validated in full before anything is written, and a version referencing something that no longer exists or is out of the caller's reach (a deleted tool, key or knowledge source) is rejected with 400 rather than partially applied. Only differences from the agent's live config are written, so restoring the current configuration is a no-op. Retrying is safe: the source version is immutable, and the pre-restore config is forked as a version before anything is written.\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":{"nullable":true,"type":"object","properties":{"baseVersion":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}}}}}},"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":"integer","minimum":0,"exclusiveMinimum":true,"maximum":2147483647},"in":"path","name":"version","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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts"],"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/agents/{id}/clone":{"post":{"operationId":"cloneAgent","tags":["Agents"],"description":"Clone an agent and its associations with explicit permission grants. The creator receives full access; source sharing is not copied.\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":{"nullable":true,"type":"object","properties":{"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"]}},"scope":{"not":{}},"teams":{"not":{}},"users":{"not":{}}}}}}},"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts"],"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/agents/{id}/export":{"get":{"operationId":"exportAgent","tags":["Agents"],"description":"Export an agent configuration as a portable JSON payload for cross-instance transfer\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"string","enum":["1"],"description":"Schema version for forward compatibility"},"exportedAt":{"type":"string","description":"ISO 8601 timestamp"},"sourceInstance":{"description":"Informational: hostname of the source instance","nullable":true,"type":"string"},"agent":{"type":"object","properties":{"name":{"type":"string"},"agentType":{"type":"string","enum":["agent"],"description":"Only internal agents are exportable"},"description":{"nullable":true,"type":"string"},"systemPrompt":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"],"description":"Original scope; imports always default to personal"},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"default":false,"type":"boolean"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"passthroughHeaders":{"nullable":true,"maxItems":20,"type":"array","items":{}}},"required":["name","agentType","description","systemPrompt","icon","scope","toolExposureMode","accessAllTools","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain"],"additionalProperties":false},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"suggestedPrompts":{"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string"},"prompt":{"type":"string"}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"tools":{"type":"array","items":{"type":"object","properties":{"toolName":{"type":"string","description":"Tool name as registered in the MCP catalog"},"catalogName":{"nullable":true,"description":"MCP catalog item name (null for proxy-sniffed tools)","type":"string"},"credentialResolutionMode":{"description":"How credentials are resolved for this tool assignment","type":"string","enum":["static","dynamic","enterprise_managed"]}},"required":["toolName","catalogName"],"additionalProperties":false}},"delegations":{"type":"array","items":{"type":"object","properties":{"targetAgentName":{"type":"string","description":"Name of the target agent for delegation"}},"required":["targetAgentName"],"additionalProperties":false}},"knowledgeBases":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Knowledge base name"}},"required":["name"],"additionalProperties":false}},"connectors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Connector name"},"connectorType":{"anyOf":[{"type":"string","enum":["jira"]},{"type":"string","enum":["confluence"]},{"type":"string","enum":["github"]},{"type":"string","enum":["gitlab"]},{"type":"string","enum":["servicenow"]},{"type":"string","enum":["notion"]},{"type":"string","enum":["sharepoint"]},{"type":"string","enum":["gdrive"]},{"type":"string","enum":["dropbox"]},{"type":"string","enum":["onedrive"]},{"type":"string","enum":["asana"]},{"type":"string","enum":["linear"]},{"type":"string","enum":["outline"]},{"type":"string","enum":["salesforce"]},{"type":"string","enum":["web_crawler"]},{"type":"string","enum":["perforce"]},{"type":"string","enum":["mfiles"]},{"type":"string","enum":["file_upload"]}],"description":"Connector type (e.g. confluence, github)"}},"required":["name","connectorType"],"additionalProperties":false}}},"required":["version","exportedAt","agent","labels","suggestedPrompts","tools","delegations","knowledgeBases","connectors"],"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/agents/{id}/mcp-tool-preview":{"get":{"operationId":"getAgentMcpToolPreview","tags":["Agents"],"description":"Preview the gateway's initial tools/list for the current user, with estimated tool-definition context tokens\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"default":"generic","type":"string","enum":["claude-code","generic"]},"in":"query","name":"client","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"tokenCount":{"oneOf":[{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"source":{"type":"string","enum":["claude-provider"]},"model":{"type":"string"},"observedAt":{"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":["total","source","model","observedAt"],"additionalProperties":false},{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"source":{"type":"string","enum":["estimate"]},"model":{"type":"string","nullable":true,"enum":[null]},"observedAt":{"type":"string","nullable":true,"enum":[null]}},"required":["total","source","model","observedAt"],"additionalProperties":false}]},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"catalogId":{"nullable":true,"type":"string"},"tokens":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","description","catalogId","tokens"],"additionalProperties":false}}},"required":["toolExposureMode","tokenCount","tools"],"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/agents/{id}/tool-exclusions":{"get":{"operationId":"getAgentToolExclusions","tags":["Agents"],"description":"Get the agent's Auto-tool-mode exclusions: MCP catalogs and individual tools removed from its tool surface while 'access all tools' is on\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"excludedToolIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Individual tool IDs excluded from the agent's surface"}},"required":["excludedToolIds"],"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":[]}},"put":{"operationId":"updateAgentToolExclusions","tags":["Agents"],"description":"Replace the agent's Auto-tool-mode exclusions (full replace of the excluded tool set)\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":{"excludedToolIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Individual tool IDs excluded from the agent's surface"}},"required":["excludedToolIds"]}}}},"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":{"excludedToolIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Individual tool IDs excluded from the agent's surface"}},"required":["excludedToolIds"],"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/agents/{id}/subagent-exclusions":{"get":{"operationId":"getAgentSubagentExclusions","tags":["Agents"],"description":"Get the agent's Auto-subagent-mode exclusions: delegation target agents removed from its Auto delegation surface while 'access all subagents' is on\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"excludedSubagentIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Target agent IDs excluded from the agent's Auto delegation surface"}},"required":["excludedSubagentIds"],"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":[]}},"put":{"operationId":"updateAgentSubagentExclusions","tags":["Agents"],"description":"Replace the agent's Auto-subagent-mode exclusions (full replace of the excluded delegation-target set)\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":{"excludedSubagentIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Target agent IDs excluded from the agent's Auto delegation surface"}},"required":["excludedSubagentIds"]}}}},"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":{"excludedSubagentIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Target agent IDs excluded from the agent's Auto delegation surface"}},"required":["excludedSubagentIds"],"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/agents/{id}/knowledge-source-exclusions":{"get":{"operationId":"getAgentKnowledgeSourceExclusions","tags":["Agents"],"description":"Get the agent's Auto-mode knowledge-source exclusions: knowledge connectors removed from the surface its knowledge queries span while 'access all tools' is on\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`knowledgeSource:read`](/docs/reference/permissions#knowledgeSource:read): View Knowledge Bases and Connectors","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":{"excludedConnectorIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Knowledge connector IDs excluded from the agent's Auto knowledge surface"}},"required":["excludedConnectorIds"],"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":["knowledgeSource:read"]}},"put":{"operationId":"updateAgentKnowledgeSourceExclusions","tags":["Agents"],"description":"Replace the agent's Auto-mode knowledge-source exclusions (full replace of the excluded knowledge-connector set)\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`knowledgeSource:read`](/docs/reference/permissions#knowledgeSource:read): View Knowledge Bases and Connectors","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"excludedConnectorIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Knowledge connector IDs excluded from the agent's Auto knowledge surface"}},"required":["excludedConnectorIds"]}}}},"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":{"excludedConnectorIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Knowledge connector IDs excluded from the agent's Auto knowledge surface"}},"required":["excludedConnectorIds"],"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":["knowledgeSource:read"]}}},"/api/agents/activation-skills":{"get":{"operationId":"getAgentActivationSkills","tags":["Agents"],"description":"List a paginated, searchable view of effective or policy-eligible skills for an internal agent or draft\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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"},"in":"query","name":"search","required":false,"description":"Case-insensitive substring match on skill name, activation name, description, or provider name."},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"agentId","required":false,"description":"Existing internal agent to evaluate. Omit to preview a new agent."},{"schema":{"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)$"},"in":"query","name":"environmentId","required":false,"description":"Environment preview override for a draft or pending edit. Omit to use the saved agent environment, or the Default environment for a new draft."},{"schema":{"default":"effective","type":"string","enum":["effective","eligible"]},"in":"query","name":"view","required":false,"description":"Effective applies the saved agent policy; eligible lists caller-visible choices for the policy editor."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"reference":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."},"name":{"type":"string","description":"The declared, human-facing skill name."},"activationName":{"type":"string","description":"The exact name to pass to load_skill."},"description":{"type":"string","description":"The skill description."},"scope":{"type":"string","enum":["personal","team","org"],"description":"The visibility scope through which the skill is shared."},"providerName":{"nullable":true,"description":"Plugin or MCP server name; null for a skill-library entry.","type":"string"}},"required":["reference","name","activationName","description","scope","providerName"],"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},"enabled":{"type":"boolean","description":"Whether load_skill is available for this agent or draft. Effective results are empty when false; eligible policy-editor previews may still contain candidates."}},"required":["data","pagination","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":["skill:read"]}}},"/api/agents/{id}/activation-skill-policy":{"get":{"operationId":"getAgentActivationSkillPolicy","tags":["Agents"],"description":"Get an internal agent's skill activation policy\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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":{"mode":{"type":"string","enum":["all","manual"]},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"allowedReferences":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."}},"excludedReferences":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."}},"allowedSkills":{"type":"array","items":{"type":"object","properties":{"reference":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."},"name":{"type":"string","description":"The declared, human-facing skill name."},"activationName":{"type":"string","description":"The exact name to pass to load_skill."},"description":{"type":"string","description":"The skill description."},"scope":{"type":"string","enum":["personal","team","org"],"description":"The visibility scope through which the skill is shared."},"providerName":{"nullable":true,"description":"Plugin or MCP server name; null for a skill-library entry.","type":"string"}},"required":["reference","name","activationName","description","scope","providerName"],"additionalProperties":false}},"excludedSkills":{"type":"array","items":{"type":"object","properties":{"reference":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."},"name":{"type":"string","description":"The declared, human-facing skill name."},"activationName":{"type":"string","description":"The exact name to pass to load_skill."},"description":{"type":"string","description":"The skill description."},"scope":{"type":"string","enum":["personal","team","org"],"description":"The visibility scope through which the skill is shared."},"providerName":{"nullable":true,"description":"Plugin or MCP server name; null for a skill-library entry.","type":"string"}},"required":["reference","name","activationName","description","scope","providerName"],"additionalProperties":false}},"hiddenAllowedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"hiddenExcludedCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["mode","revision","allowedReferences","excludedReferences","allowedSkills","excludedSkills","hiddenAllowedCount","hiddenExcludedCount"],"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":["skill:read"]}},"patch":{"operationId":"patchAgentActivationSkillPolicy","tags":["Agents"],"description":"Apply a revisioned update to an internal agent's skill activation policy\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"mode":{"type":"string","enum":["all","manual"]},"operations":{"default":[],"maxItems":2000,"type":"array","items":{"type":"object","properties":{"op":{"type":"string","enum":["add","remove"]},"disposition":{"type":"string","enum":["allow","exclude"]},"reference":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"]},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"]},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"]}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."}},"required":["op","disposition","reference"]}},"discardUnavailable":{"default":[],"maxItems":2,"type":"array","items":{"type":"string","enum":["allow","exclude"]}}},"required":["expectedRevision"]}}}},"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":{"mode":{"type":"string","enum":["all","manual"]},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"allowedReferences":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."}},"excludedReferences":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."}},"allowedSkills":{"type":"array","items":{"type":"object","properties":{"reference":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."},"name":{"type":"string","description":"The declared, human-facing skill name."},"activationName":{"type":"string","description":"The exact name to pass to load_skill."},"description":{"type":"string","description":"The skill description."},"scope":{"type":"string","enum":["personal","team","org"],"description":"The visibility scope through which the skill is shared."},"providerName":{"nullable":true,"description":"Plugin or MCP server name; null for a skill-library entry.","type":"string"}},"required":["reference","name","activationName","description","scope","providerName"],"additionalProperties":false}},"excludedSkills":{"type":"array","items":{"type":"object","properties":{"reference":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","enum":["native"],"description":"A skill-library skill."},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The skill-library skill ID."}},"required":["source","skillId"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"],"description":"A skill from an MCP server."},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The MCP server installation ID."},"uri":{"type":"string","description":"The skill resource URI."}},"required":["source","mcpServerId","uri"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["plugin"],"description":"A skill bundled in a plugin."},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The plugin ID."},"skillPath":{"type":"string","description":"The skill root inside the plugin."}},"required":["source","pluginId","skillPath"],"additionalProperties":false}],"description":"Stable source identity: native uses skillId, external_mcp uses mcpServerId and uri, and plugin uses pluginId and skillPath."},"name":{"type":"string","description":"The declared, human-facing skill name."},"activationName":{"type":"string","description":"The exact name to pass to load_skill."},"description":{"type":"string","description":"The skill description."},"scope":{"type":"string","enum":["personal","team","org"],"description":"The visibility scope through which the skill is shared."},"providerName":{"nullable":true,"description":"Plugin or MCP server name; null for a skill-library entry.","type":"string"}},"required":["reference","name","activationName","description","scope","providerName"],"additionalProperties":false}},"hiddenAllowedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"hiddenExcludedCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["mode","revision","allowedReferences","excludedReferences","allowedSkills","excludedSkills","hiddenAllowedCount","hiddenExcludedCount"],"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":["skill:read"]}}},"/api/agents/{id}/skills":{"get":{"operationId":"getAgentSkills","tags":["Agents"],"description":"Get the skills this gateway publishes over MCP: the explicitly assigned set, plus whether Auto mode ('access all skills') is on\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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":{"accessAllSkills":{"type":"boolean","description":"Auto mode: expose every org-scoped skill visible in the agent's environment"},"skillIds":{"maxItems":1000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Skills explicitly assigned to the agent (Custom mode)"},"skills":{"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":{"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"templated":{"type":"boolean"},"agentName":{"nullable":true,"type":"string"},"authorId":{"nullable":true,"type":"string"}},"required":["id","name","description","scope","templated","agentName","authorId"],"additionalProperties":false},"description":"The assigned skills themselves, in `skillIds` order"}},"required":["accessAllSkills","skillIds","skills"],"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":["skill:read"]}},"put":{"operationId":"updateAgentSkills","tags":["Agents"],"description":"Replace the skills this gateway publishes over MCP (full replace of the assigned set) and set Auto mode\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accessAllSkills":{"type":"boolean","description":"Auto mode: expose every org-scoped skill visible in the agent's environment"},"skillIds":{"maxItems":1000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Skills explicitly assigned to the agent (Custom mode)"}},"required":["accessAllSkills","skillIds"]}}}},"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":{"accessAllSkills":{"type":"boolean","description":"Auto mode: expose every org-scoped skill visible in the agent's environment"},"skillIds":{"maxItems":1000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Skills explicitly assigned to the agent (Custom mode)"},"skills":{"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":{"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"templated":{"type":"boolean"},"agentName":{"nullable":true,"type":"string"},"authorId":{"nullable":true,"type":"string"}},"required":["id","name","description","scope","templated","agentName","authorId"],"additionalProperties":false},"description":"The assigned skills themselves, in `skillIds` order"}},"required":["accessAllSkills","skillIds","skills"],"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":["skill:read"]}}},"/api/agents/{id}/skill-exclusions":{"get":{"operationId":"getAgentSkillExclusions","tags":["Agents"],"description":"Get the agent's Auto-skill-mode exclusions: skills removed from its published skill surface while 'access all skills' is on\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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":{"excludedSkillIds":{"maxItems":1000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Individual skill IDs excluded from the agent's skill surface"},"skills":{"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":{"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"templated":{"type":"boolean"},"agentName":{"nullable":true,"type":"string"},"authorId":{"nullable":true,"type":"string"}},"required":["id","name","description","scope","templated","agentName","authorId"],"additionalProperties":false},"description":"The excluded skills themselves, in `excludedSkillIds` order"}},"required":["excludedSkillIds","skills"],"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":["skill:read"]}},"put":{"operationId":"updateAgentSkillExclusions","tags":["Agents"],"description":"Replace the agent's Auto-skill-mode exclusions (full replace of the excluded skill set)\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"excludedSkillIds":{"maxItems":1000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Individual skill IDs excluded from the agent's skill surface"}},"required":["excludedSkillIds"]}}}},"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":{"excludedSkillIds":{"maxItems":1000,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Individual skill IDs excluded from the agent's skill surface"},"skills":{"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":{"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"templated":{"type":"boolean"},"agentName":{"nullable":true,"type":"string"},"authorId":{"nullable":true,"type":"string"}},"required":["id","name","description","scope","templated","agentName","authorId"],"additionalProperties":false},"description":"The excluded skills themselves, in `excludedSkillIds` order"}},"required":["excludedSkillIds","skills"],"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":["skill:read"]}}},"/api/agents/{id}/transfer-ownership":{"post":{"operationId":"transferAgentOwnership","tags":["Agents"],"description":"Transfer an agent or MCP gateway to another organization member\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":{"ownerId":{"type":"string","minLength":1}},"required":["ownerId"]}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/bulk":{"delete":{"operationId":"bulkDeleteAgents","tags":["Agents"],"description":"Soft-delete several agents in one request. Each id is authorized exactly as the single-agent delete authorizes its own, so an id the caller cannot see or modify — and a built-in agent or personal MCP gateway, which are never deletable — is reported in `failed` while the rest of the batch still applies. Deleted agents can be restored from the trash. Members who chose one as their personal default, and projects pinning it, are unpinned, as they are on the single-agent delete.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string"},"description":"Ids to act on. Duplicates are collapsed."}},"required":["ids"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/{id}/restore":{"post":{"operationId":"restoreAgent","tags":["Agents"],"description":"Restore a soft-deleted agent\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nChecked dynamically based on the target agent's type. `profile` and `agent` require [`agent:delete`](/docs/reference/permissions#agent:delete); `mcp_gateway` requires [`mcpGateway:delete`](/docs/reference/permissions#mcpGateway:delete). Additional scope checks may apply.","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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"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)$"},"llmModel":{"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)$"},"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)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"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)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"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},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"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"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts"],"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":"Checked dynamically based on the target agent's type. `profile` and `agent` require `agent:delete`; `mcp_gateway` requires `mcpGateway:delete`. Additional scope checks may apply.","permissions":[]}}},"/api/agents/{id}/permanent":{"delete":{"operationId":"permanentlyDeleteAgent","tags":["Agents"],"description":"Permanently destroy a soft-deleted agent. Global admins only — an [`agent:delete`](/docs/reference/permissions#agent:delete) or `agent:admin` grant reaches the trash, not past it. Irreversible, with no grace period: the agent's configuration and scheduled runs are destroyed, and it is cleared from the organization, /connection, and member defaults. Its history survives, detached — conversations and LLM usage rows are kept and simply stop pointing at it. 404 if there is no soft-deleted agent with that id in the org, which is also the answer when the agent is still live or the caller is not a global admin. Restore wins a race.\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: [`agent:delete`](/docs/reference/permissions#agent:delete) and even `agent:admin` 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 agent 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":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Restricted to the built-in Admin and Platform Admin roles. No permission grants it: `agent:delete` and even `agent:admin` 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 agent exists.","permissions":[]}}},"/api/agents/labels/keys":{"get":{"operationId":"getLabelKeys","tags":["Agents"],"description":"Get all available label keys\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","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":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/labels/values":{"get":{"operationId":"getLabelValues","tags":["Agents"],"description":"Get all available label values\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string"},"in":"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":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agent-runs/{taskId}/workspace/files":{"get":{"operationId":"readAgentWorkspaceFile","tags":["Agents"],"description":"Read a bounded file from the caller's retained runtime workspace\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":4096},"in":"query","name":"path","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":"taskId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string"},"content_base64":{"type":"string"}},"required":["path","size","sha256"],"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":[]}},"put":{"operationId":"writeAgentWorkspaceFile","tags":["Agents"],"description":"Write a bounded file in the caller's retained runtime workspace\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":{"path":{"type":"string","minLength":1,"maxLength":4096},"content_base64":{"type":"string","maxLength":5592408,"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"},"overwrite":{"default":false,"type":"boolean"}},"required":["path","content_base64"]}}}},"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":{"path":{"type":"string"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string"},"content_base64":{"type":"string"}},"required":["path","size","sha256"],"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/agent-runs/{taskId}/workspace":{"delete":{"operationId":"deleteAgentWorkspace","tags":["Agents"],"description":"Permanently delete an owned idle workspace and its files; saved transcripts remain available\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":{"state":{"type":"string","enum":["deleted"]}},"required":["state"],"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/agents/{id}/runtime/preflight":{"get":{"operationId":"getAgentRuntimePreflight","tags":["Agents"],"description":"Report credentials and model compatibility the current user needs before this Agent can execute delegated work in its runtime\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ready":{"type":"boolean"},"configured":{"type":"array","items":{"type":"string"}},"missing":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"credentialId":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"canConnect":{"type":"boolean"},"adminOnly":{"type":"boolean"}},"required":["key","label"],"additionalProperties":false}},"misconfigured":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"credentialId":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"canConnect":{"type":"boolean"},"adminOnly":{"type":"boolean"}},"required":["key","label"],"additionalProperties":false}},"incompatible":{"nullable":true,"type":"string"}},"required":["ready","configured","missing","misconfigured","incompatible"],"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/agents/{id}/runtime/claude-code/account":{"get":{"operationId":"getClaudeCodeAccount","tags":["Agents"],"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":{"state":{"type":"string","enum":["disconnected","starting","awaiting_code","connecting","connected","failed","expired"]},"expiresAt":{"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))$"},"flowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorizationUrl":{"type":"string","format":"uri"}},"required":["state"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"},"post":{"operationId":"startClaudeCodeSignIn","tags":["Agents"],"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":{"state":{"type":"string","enum":["disconnected","starting","awaiting_code","connecting","connected","failed","expired"]},"expiresAt":{"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))$"},"flowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorizationUrl":{"type":"string","format":"uri"}},"required":["state"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"},"delete":{"operationId":"disconnectClaudeCodeAccount","tags":["Agents"],"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":{"state":{"type":"string","enum":["disconnected","starting","awaiting_code","connecting","connected","failed","expired"]},"expiresAt":{"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))$"},"flowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorizationUrl":{"type":"string","format":"uri"}},"required":["state"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"}},"/api/agents/{id}/runtime/claude-code/account/complete":{"post":{"operationId":"completeClaudeCodeSignIn","tags":["Agents"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"flowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"code":{"type":"string","minLength":1,"maxLength":4096}},"required":["flowId"]}}}},"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":{"state":{"type":"string","enum":["disconnected","starting","awaiting_code","connecting","connected","failed","expired"]},"expiresAt":{"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))$"},"flowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"authorizationUrl":{"type":"string","format":"uri"}},"required":["state"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"}},"/api/agents/{id}/runtime/claude-code/models":{"get":{"operationId":"getClaudeCodeModels","tags":["Agents"],"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":{"models":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":256},"displayName":{"type":"string","minLength":1,"maxLength":256},"description":{"type":"string","maxLength":2000}},"required":["value","displayName","description"],"additionalProperties":false}}},"required":["models"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"}},"/api/agents/{id}/runtime/credentials/{key}":{"put":{"operationId":"setAgentRuntimeCredential","tags":["Agents"],"description":"Store or replace one credential declared by an Agent's Agent Runtime configuration\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":{"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["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},{"schema":{"type":"string","minLength":1,"maxLength":128},"in":"path","name":"key","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configured":{"type":"boolean","enum":[true]}},"required":["configured"],"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":"deleteAgentRuntimeCredential","tags":["Agents"],"description":"Remove one stored Agent Runtime credential value without changing its declaration\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","minLength":1,"maxLength":128},"in":"path","name":"key","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/{id}/runs":{"get":{"operationId":"getAgentRuns","tags":["Agents"],"description":"List Agent Runtime runs created by delegated tasks for this Agent\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"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)$"},"initiatorName":{"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"}},"required":["state","expiresAt"],"additionalProperties":false},"canAttach":{"type":"boolean"},"shareVisibility":{"anyOf":[{"type":"string","enum":["organization","team","user"]},{"type":"string","nullable":true,"enum":[null]}]},"shareTeamNames":{"nullable":true,"description":"Share recipient teams; null unless the viewer owns the run","type":"array","items":{"type":"string"}},"shareUserNames":{"nullable":true,"description":"Share recipient users; null unless the viewer owns the run","type":"array","items":{"type":"string"}}},"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","initiatorName","workspace","shareVisibility","shareTeamNames","shareUserNames"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"startAgentRun","tags":["Agents"],"description":"Start a durable Agent Runtime session with this Agent\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":{"message":{"type":"string","minLength":1,"maxLength":100000},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attachments":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"contentType":{"type":"string","minLength":1,"maxLength":255},"contentBase64":{"type":"string","minLength":1}},"required":["name","contentType","contentBase64"]}},"limits":{"type":"object","properties":{"tier":{"type":"string","minLength":1,"maxLength":32},"minCpu":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":256},"minMemoryGib":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":256},"idleTimeoutMinutes":{"type":"integer","minimum":1,"maximum":1440},"maxDurationHours":{"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"type":"integer","minimum":1,"maximum":100000}}}},"required":["message"]}}}},"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":{"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)$"},"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)$"},"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"]},"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)$"},"agentName":{"type":"string"},"prompt":{"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)$"},"createdAt":{"type":"string","format":"date-time"},"limits":{"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}},"required":["taskId","state","agentId","agentName","prompt","projectId","createdAt","limits"],"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/agent-runs":{"get":{"operationId":"getMyAgentRuns","tags":["Agents"],"description":"List Agent Runtime runs started by this user\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"string","maxLength":200},"in":"query","name":"search","required":false},{"schema":{"type":"boolean"},"in":"query","name":"pinned","required":false},{"schema":{"type":"string","enum":["started","recent","pinned"]},"in":"query","name":"sort","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"},"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"}},"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"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"currentPage":{"type":"integer","minimum":1,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"hasNext":{"type":"boolean"},"hasPrev":{"type":"boolean"}},"required":["currentPage","limit","total","totalPages","hasNext","hasPrev"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agent-runs/{taskId}":{"get":{"operationId":"getMyAgentRun","tags":["Agents"],"description":"Get one Agent Runtime the user started or was granted access to\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":"taskId","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"},"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":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"patch":{"operationId":"updateAgentRun","tags":["Agents"],"description":"Update one Agent Runtime started by this user\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":{"title":{"type":"string","minLength":1,"maxLength":100},"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))$"},"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)$"}}}}}},"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":{"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"}},"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"],"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":"deleteAgentRun","tags":["Agents"],"description":"Delete one finished Agent Runtime session started by this user, with its saved files\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":"taskId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean","enum":[true]}},"required":["deleted"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agent-runs/{taskId}/continue":{"post":{"operationId":"continueAgentRun","tags":["Agents"],"description":"Start a new Agent turn in an owned, retained workspace\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":{"message":{"default":"","type":"string","maxLength":100000},"attachments":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"contentType":{"type":"string","minLength":1,"maxLength":255},"contentBase64":{"type":"string","minLength":1}},"required":["name","contentType","contentBase64"]}}}}}}},"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":{"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)$"},"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)$"},"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"]},"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)$"},"agentName":{"type":"string"},"prompt":{"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)$"},"createdAt":{"type":"string","format":"date-time"},"limits":{"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}},"required":["taskId","state","agentId","agentName","prompt","projectId","createdAt","limits"],"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/agent-runs/{taskId}/cancel":{"post":{"operationId":"cancelAgentRun","tags":["Agents"],"description":"Cancel one active Agent Runtime session started by this user\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":"taskId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"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)$"},"state":{"type":"string","enum":["TASK_STATE_CANCELED"]}},"required":["taskId","state"],"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/agent-runs/bulk":{"delete":{"operationId":"bulkDeleteAgentRuns","tags":["Agents"],"description":"Delete several finished Agent Runtime sessions started by this user, with every turn and their saved files. A run that is still active, one whose saved files are still being suspended, or one this user did not start is reported in `failed` and leaves the rest of the batch applied.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string"},"description":"Ids to act on. Duplicates are collapsed."}},"required":["ids"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agent-runs/bulk/workspace":{"delete":{"operationId":"bulkDeleteAgentWorkspaces","tags":["Agents"],"description":"Permanently delete the saved files of several finished Agent Runtime sessions started by this user; their transcripts remain available. A run with no saved files, one still running, or one this user did not start is reported in `failed` and leaves the rest of the batch applied.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string"},"description":"Ids to act on. Duplicates are collapsed."}},"required":["ids"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agent-runs/bulk-cancel":{"post":{"operationId":"bulkCancelAgentRuns","tags":["Agents"],"description":"Cancel several active Agent Runtime sessions started by this user. A run that has already ended, or that this user did not start, is reported in `failed` and leaves the rest of the batch applied.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string"},"description":"Ids to act on. Duplicates are collapsed."}},"required":["ids"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"affected":{"type":"number"},"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agent-runs/{taskId}/workspace/transfers":{"post":{"operationId":"startAgentWorkspaceTransfer","tags":["Agents"],"description":"Authorize a resumable transfer of one file to or from the caller's retained runtime workspace\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":{"oneOf":[{"type":"object","properties":{"direction":{"type":"string","enum":["download"]},"path":{"type":"string","minLength":1,"maxLength":1024}},"required":["direction","path"]},{"type":"object","properties":{"direction":{"type":"string","enum":["upload"]},"path":{"type":"string","minLength":1,"maxLength":1024},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"location":{"type":"string","enum":["workspace","attachments"]}},"required":["direction","path","size","sha256"]}]}}}},"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":{"transferId":{"type":"string"},"token":{"type":"string"},"contentUrl":{"type":"string"},"path":{"type":"string"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string"},"expiresInSeconds":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["transferId","token","contentUrl","path","size","sha256","expiresInSeconds"],"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/agent-workspace-transfers/{transferId}/content":{"get":{"operationId":"downloadAgentWorkspaceTransfer","tags":["Agents"],"description":"Stream the pinned contents of an authorized transfer; supports Range for resume\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string"},"in":"path","name":"transferId","required":true}],"responses":{"200":{"description":"Default Response"}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"put":{"operationId":"uploadAgentWorkspaceTransfer","tags":["Agents"],"description":"Stream an authorized upload into the workspace and replace the destination atomically\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string"},"in":"path","name":"transferId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string"}},"required":["path","size","sha256"],"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/agent-runtime-templates":{"get":{"operationId":"listAgentRuntimeTemplates","tags":["Agents"],"description":"List custom runtime choices without environment values or runtime configuration.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":100},"description":{"type":"string","maxLength":1000},"icon":{"nullable":true,"type":"string","maxLength":700000},"hidden":{"type":"boolean"},"position":{"type":"integer","minimum":0,"maximum":1000},"image":{"type":"string"}},"required":["id","name","description","icon","hidden","position","image"],"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/agent-runtime-templates/{id}":{"get":{"operationId":"getAgentRuntimeTemplate","tags":["Agents"],"description":"Read a template's starting configuration when creating or editing an agent.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":100},"description":{"type":"string","maxLength":1000},"icon":{"nullable":true,"type":"string","maxLength":700000},"hidden":{"type":"boolean"},"position":{"type":"integer","minimum":0,"maximum":1000},"runtime":{"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\S+$"},"command":{"nullable":true,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":2000}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean","enum":[false]},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"maxItems":100,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","maxLength":128,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"value":{"type":"string","maxLength":16384}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","maxCostUsd","idleTimeoutMinutes"],"additionalProperties":false}},"required":["id","name","description","icon","hidden","position","runtime"],"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/agent-tools":{"get":{"operationId":"getAllAgentTools","tags":["Agent Tools"],"description":"Get all agent-tool relationships with pagination, sorting, and filtering\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","enum":["name","agent","origin","createdAt"]},"in":"query","name":"sortBy","required":false},{"schema":{"default":"desc","type":"string","enum":["asc","desc"]},"in":"query","name":"sortDirection","required":false},{"schema":{"type":"string","maxLength":512},"in":"query","name":"search","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"agentId","required":false},{"schema":{"type":"string"},"in":"query","name":"origin","required":false,"description":"A catalogId to filter by"},{"schema":{"type":"string"},"in":"query","name":"mcpServerOwnerId","required":false,"description":"Filter by MCP server owner user ID"},{"schema":{"type":"boolean"},"in":"query","name":"excludeArchestraTools","required":false,"description":"For test isolation"},{"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":"boolean"},"in":"query","name":"skipPagination","required":false},{"schema":{"type":"boolean"},"in":"query","name":"includeToolDetails","required":false,"description":"Include each tool's description and parameter schema (default true). False returns null and {} for lightweight lists."}],"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)$"},"mcpServerId":{"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)$"},"credentialResolutionMode":{"type":"string","enum":["static","dynamic","enterprise_managed"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"agent":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"tool":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"parameters":{"anyOf":[{"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":{}}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"catalogId":{"nullable":true,"type":"string"}},"required":["id","name","description","createdAt","updatedAt","catalogId"],"additionalProperties":false}},"required":["id","mcpServerId","credentialResolutionMode","createdAt","updatedAt","agent","tool"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"currentPage":{"type":"integer","minimum":1,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"hasNext":{"type":"boolean"},"hasPrev":{"type":"boolean"}},"required":["currentPage","limit","total","totalPages","hasNext","hasPrev"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/{agentId}/tools/{toolId}":{"post":{"operationId":"assignToolToAgent","tags":["Agent Tools"],"description":"Assign a tool to an agent\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":{"nullable":true,"type":"object","properties":{"resolveAtCallTime":{"type":"boolean"},"credentialResolutionMode":{"type":"string","enum":["static","dynamic","enterprise_managed"]},"mcpServerId":{"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)$"}}}}}},"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","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"toolId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"delete":{"operationId":"unassignToolFromAgent","tags":["Agent Tools"],"description":"Unassign a tool from an agent\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},{"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":"toolId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/tools/bulk-assign":{"post":{"operationId":"bulkAssignTools","tags":["Agent Tools"],"description":"Assign multiple tools to multiple agents in bulk\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":{"assignments":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"toolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"resolveAtCallTime":{"type":"boolean"},"credentialResolutionMode":{"type":"string","enum":["static","dynamic","enterprise_managed"]},"mcpServerId":{"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)$"}},"required":["toolId","agentId"]}}},"required":["assignments"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"succeeded":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"toolId":{"type":"string"}},"required":["agentId","toolId"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"toolId":{"type":"string"},"error":{"type":"string"}},"required":["agentId","toolId","error"],"additionalProperties":false}},"duplicates":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"toolId":{"type":"string"}},"required":["agentId","toolId"],"additionalProperties":false}}},"required":["succeeded","failed","duplicates"],"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/agents/tools/bulk-update":{"post":{"operationId":"bulkUpdateAgentTools","tags":["Agent Tools"],"description":"Apply a batch of tool assignments and removals across agents in one request. Intended for editors that save a whole tool selection at once: the batch produces a single config version per affected agent instead of one per tool. If the same agent/tool pair appears in both lists, the assignment wins and the removal is ignored. A pair repeated within a list is written once but reported once per occurrence. Agents the caller cannot modify are reported two different ways: an agent that belongs to another organization or no longer exists is reported per entry in `failed`, and the rest of the batch still applies; an agent in the caller's own organization whose agent type the caller lacks `update` on rejects the entire request with 403 and applies nothing.\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":{"assignments":{"default":[],"maxItems":5000,"type":"array","items":{"type":"object","properties":{"toolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"resolveAtCallTime":{"type":"boolean"},"credentialResolutionMode":{"type":"string","enum":["static","dynamic","enterprise_managed"]},"mcpServerId":{"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)$"}},"required":["toolId","agentId"]}},"removals":{"default":[],"maxItems":5000,"type":"array","items":{"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)$"},"toolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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","toolId"]}}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"succeeded":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"toolId":{"type":"string"}},"required":["agentId","toolId"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"toolId":{"type":"string"},"error":{"type":"string"}},"required":["agentId","toolId","error"],"additionalProperties":false}},"duplicates":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"toolId":{"type":"string"}},"required":["agentId","toolId"],"additionalProperties":false}},"removed":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"toolId":{"type":"string"}},"required":["agentId","toolId"],"additionalProperties":false}},"notAssigned":{"type":"array","items":{"type":"object","properties":{"agentId":{"type":"string"},"toolId":{"type":"string"}},"required":["agentId","toolId"],"additionalProperties":false}}},"required":["succeeded","failed","duplicates","removed","notAssigned"],"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/agents/{agentId}/tools":{"get":{"operationId":"getAgentTools","tags":["Agent Tools"],"description":"Get all tools for an agent (both proxy-sniffed and MCP tools)\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string"},"in":"query","name":"catalogId","required":false,"description":"Only return tools from this catalog item, e.g. to check whether one server's tools are assigned without loading every tool's schema"},{"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":{"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)$"},"catalogId":{"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)$"},"delegateToAgentId":{"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)$"},"delegateToA2aConnectionId":{"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)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"parameters":{"anyOf":[{"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":{}}]},"description":{"nullable":true,"type":"string"},"meta":{"nullable":true,"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"string","nullable":true,"enum":[null]}]},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"clonedPendingDiscovery":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"mcpServerId":{"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)$"},"credentialResolutionMode":{"type":"string","enum":["static","dynamic","enterprise_managed"]}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description","meta","clonedPendingDiscovery","createdAt","updatedAt","deletedAt","mcpServerId","credentialResolutionMode"],"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/agent-tools/{id}":{"patch":{"operationId":"updateAgentTool","tags":["Agent Tools"],"description":"Update an agent-tool relationship\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":{"mcpServerId":{"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)$"},"credentialResolutionMode":{"type":"string","enum":["static","dynamic","enterprise_managed"]}}}}}},"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)$"},"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)$"},"toolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"mcpServerId":{"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)$"},"credentialResolutionMode":{"type":"string","enum":["static","dynamic","enterprise_managed"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["credentialResolutionMode"],"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/agents/{agentId}/delegations":{"get":{"operationId":"getAgentDelegations","tags":["Agent Delegations"],"description":"Get all delegation targets for an agent. Not applicable to LLM proxies.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":{"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"},"systemPrompt":{"nullable":true,"type":"string"}},"required":["id","name","description","systemPrompt"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"syncAgentDelegations","tags":["Agent Delegations"],"description":"Sync delegation targets for an agent. Replaces all existing delegations with the new list. Not applicable to LLM proxies.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"targetAgentIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["targetAgentIds"]}}}},"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":{"added":{"type":"array","items":{"type":"string"}},"removed":{"type":"array","items":{"type":"string"}}},"required":["added","removed"],"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/agents/{agentId}/delegations/{targetAgentId}":{"post":{"operationId":"createAgentDelegation","tags":["Agent Delegations"],"description":"Create one delegation edge without replacing other targets; repeated creation reports created=false.\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},{"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":"targetAgentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"boolean"}},"required":["created"],"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":"deleteAgentDelegation","tags":["Agent Delegations"],"description":"Remove a specific delegation from an agent. Not applicable to LLM proxies.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":"targetAgentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agent-delegations":{"get":{"operationId":"getAllDelegationConnections","tags":["Agent Delegations"],"description":"Get all agent delegation connections for canvas visualization.\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":{"connections":{"type":"array","items":{"type":"object","properties":{"sourceAgentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceAgentName":{"type":"string"},"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)$"},"targetAgentName":{"type":"string"},"toolId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":["sourceAgentId","sourceAgentName","targetAgentId","targetAgentName","toolId"],"additionalProperties":false}},"agents":{"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"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]}},"required":["id","name","agentType"],"additionalProperties":false}}},"required":["connections","agents"],"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/browser-storage-states":{"get":{"operationId":"getBrowserStorageStates","tags":["Browser Storage States"],"description":"List members whose Playwright browser logins are saved. Returns counts and sizes only, never cookies.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`member:update`](/docs/reference/permissions#member:update): Change member roles and settings","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"image":{"nullable":true,"type":"string"},"siteCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time"}},"required":["userId","name","email","image","siteCount","sizeBytes","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":["member:update"]}}},"/api/browser-storage-states/{userId}":{"delete":{"operationId":"deleteBrowserStorageState","tags":["Browser Storage States"],"description":"Delete a member's saved Playwright browser logins, signing them out of every site in new chats\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`member:update`](/docs/reference/permissions#member:update): Change member roles and settings","parameters":[{"schema":{"type":"string","minLength":1},"in":"path","name":"userId","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":["member:update"]}}},"/api/skills/external":{"get":{"operationId":"getExternalMcpSkills","tags":["Skills"],"description":"List Skills dynamically projected from the caller's accessible MCP server installations.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`mcpServerInstallation:read`](/docs/reference/permissions#mcpServerInstallation:read): View installed MCP servers and their status\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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":"query","name":"environmentId","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"]},"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)$"},"catalogId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scope":{"type":"string","enum":["personal","team","org"]},"serverName":{"type":"string"},"icon":{"nullable":true,"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"uri":{"type":"string"},"resources":{"nullable":true,"type":"array","items":{"type":"object","properties":{"uri":{"type":"string"},"digest":{"type":"string"}},"required":["uri","digest"],"additionalProperties":false}},"usageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"usageUserCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["source","id","catalogId","mcpServerId","scope","serverName","icon","name","description","uri","resources","usageCount","usageUserCount","lastUsedAt"],"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":["mcpServerInstallation:read","skill:read"]}}},"/api/skills/external/usage-statistics":{"get":{"operationId":"getExternalMcpSkillUsageStatistics","tags":["Skills"],"description":"Get recent activation statistics for one external MCP Skill from an accessible installation.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`mcpServerInstallation:read`](/docs/reference/permissions#mcpServerInstallation:read): View installed MCP servers and their status\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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":"query","name":"mcpServerId","required":true},{"schema":{"type":"string","minLength":1},"in":"query","name":"uri","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"since":{"type":"string"},"users":{"type":"array","items":{"type":"object","properties":{"userId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["user","service_account","unattributed"]},"total":{"type":"number"}},"required":["userId","name","kind","total"],"additionalProperties":false}},"daily":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"userId":{"nullable":true,"type":"string"},"count":{"type":"number"}},"required":["date","userId","count"],"additionalProperties":false}}},"required":["since","users","daily"],"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":["mcpServerInstallation:read","skill:read"]}}},"/api/skills/external/{id}":{"get":{"operationId":"getExternalMcpSkill","tags":["Skills"],"description":"Fetch and digest-verify the current bytes of an external MCP Skill from one accessible installation.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`mcpServerInstallation:read`](/docs/reference/permissions#mcpServerInstallation:read): View installed MCP servers and their status\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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":"query","name":"mcpServerId","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":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"source":{"type":"string","enum":["external_mcp"]},"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)$"},"catalogId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"mcpServerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scope":{"type":"string","enum":["personal","team","org"]},"serverName":{"type":"string"},"icon":{"nullable":true,"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"uri":{"type":"string"},"resources":{"nullable":true,"type":"array","items":{"type":"object","properties":{"uri":{"type":"string"},"digest":{"type":"string"}},"required":["uri","digest"],"additionalProperties":false}},"usageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"usageUserCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"content":{"type":"string"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"kind":{"type":"string","enum":["script","reference","asset"]}},"required":["path","content","encoding","kind"],"additionalProperties":false}}},"required":["source","id","catalogId","mcpServerId","scope","serverName","icon","name","description","uri","resources","usageCount","usageUserCount","lastUsedAt","content","files"],"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":["mcpServerInstallation:read","skill:read"]}}},"/api/hooks":{"get":{"operationId":"getHooks","tags":["Hooks"],"description":"List hook files 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\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":"query","name":"agentId","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"},"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)$"},"event":{"type":"string","enum":["session_start","pre_tool_use","post_tool_use"]},"fileName":{"type":"string"},"content":{"type":"string"},"requirements":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","agentId","event","fileName","content","requirements","enabled","createdAt","updatedAt"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"createHook","tags":["Hooks"],"description":"Create a new hook file 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\nNone (no additional RBAC permission required)","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)$"},"event":{"type":"string","enum":["session_start","pre_tool_use","post_tool_use"]},"fileName":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*\\.(py|sh)$"},"content":{"type":"string","minLength":1,"maxLength":65536},"requirements":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"enabled":{"type":"boolean"}},"required":["agentId","event","fileName","content"]}}}},"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"},"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)$"},"event":{"type":"string","enum":["session_start","pre_tool_use","post_tool_use"]},"fileName":{"type":"string"},"content":{"type":"string"},"requirements":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","agentId","event","fileName","content","requirements","enabled","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/hooks/{id}":{"put":{"operationId":"updateHook","tags":["Hooks"],"description":"Update an existing hook file\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":{"event":{"type":"string","enum":["session_start","pre_tool_use","post_tool_use"]},"fileName":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*\\.(py|sh)$"},"content":{"type":"string","minLength":1,"maxLength":65536},"requirements":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"enabled":{"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)$"},"organizationId":{"type":"string"},"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)$"},"event":{"type":"string","enum":["session_start","pre_tool_use","post_tool_use"]},"fileName":{"type":"string"},"content":{"type":"string"},"requirements":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","agentId","event","fileName","content","requirements","enabled","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"delete":{"operationId":"deleteHook","tags":["Hooks"],"description":"Delete a hook file\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/agents/{agentId}/email-address":{"get":{"operationId":"getAgentEmailAddress","tags":["Agents"],"description":"Get the email address for invoking an agent\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":"object","properties":{"providerEnabled":{"type":"boolean"},"emailAddress":{"nullable":true,"type":"string"},"agentIncomingEmailEnabled":{"type":"boolean"},"agentSecurityMode":{"type":"string","enum":["private","internal","public"]},"agentAllowedDomain":{"nullable":true,"type":"string"}},"required":["providerEnabled","emailAddress","agentIncomingEmailEnabled","agentSecurityMode","agentAllowedDomain"],"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/openappa/annotators/archestra":{"post":{"operationId":"annotateOpenappaToolWithArchestra","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"system":{"type":"string"},"input":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"attribution":{"type":"object","properties":{"root":{"type":"string"},"trajectory":{"type":"string"},"call_id":{"type":"string"}},"required":["root","trajectory"]}},"required":["system","input","schema"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"}},"/api/openappa/batteries":{"get":{"operationId":"getOpenappaBatteries","tags":["OpenAPPA"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"source":{"type":"string","enum":["bundled","upload"]},"contentHash":{"nullable":true,"type":"string"},"namespaces":{"type":"array","items":{"type":"string"}},"annotators":{"type":"array","items":{"type":"string"}},"scope":{"type":"string","enum":["catalogs","organization"]},"helpers":{"type":"array","items":{"type":"string"}},"credentials":{"type":"array","items":{"type":"string"}},"setup":{"nullable":true,"type":"string"},"installs":{"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"},"batteryName":{"type":"string"},"catalogId":{"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"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"target":{"anyOf":[{"type":"string","enum":["multi-user"]},{"type":"string","nullable":true,"enum":[null]}]},"packageHash":{"nullable":true,"type":"string"},"lastError":{"nullable":true,"type":"string"},"credentialBindings":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":200}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","batteryName","catalogId","enabled","status","target","packageHash","lastError","credentialBindings","createdAt","updatedAt"],"additionalProperties":false}}},"required":["name","description","source","contentHash","namespaces","annotators","scope","helpers","credentials","setup","installs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/policy-declarations":{"get":{"operationId":"getOpenappaPolicyDeclarations","tags":["OpenAPPA"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"batteries":{"type":"array","items":{"type":"object","properties":{"entry":{"type":"string"},"name":{"type":"string"},"source":{"type":"string","enum":["bundled","upload"]},"packageHash":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"scope":{"type":"string","enum":["catalogs","organization"]},"composed":{"type":"boolean"},"line":{"type":"number"},"servers":{"type":"array","items":{"type":"object","properties":{"target":{"type":"string"},"catalogId":{"nullable":true,"type":"string"}},"required":["target","catalogId"],"additionalProperties":false}},"credentials":{"type":"array","items":{"type":"object","properties":{"variable":{"type":"string"},"key":{"nullable":true,"type":"string"},"source":{"anyOf":[{"type":"string","enum":["policy","binding"]},{"type":"string","nullable":true,"enum":[null]}]},"readers":{"type":"array","items":{"type":"string"}}},"required":["variable","key","source","readers"],"additionalProperties":false}},"helpers":{"type":"array","items":{"type":"string"}},"served":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"composed":{"type":"boolean"}},"required":["status","composed"],"additionalProperties":false}},"required":["entry","name","source","packageHash","status","scope","composed","line","servers","credentials","helpers","served"],"additionalProperties":false}},"unusedAliases":{"type":"array","items":{"type":"object","properties":{"namespace":{"type":"string"},"servers":{"type":"array","items":{"type":"string"}},"line":{"type":"number"}},"required":["namespace","servers","line"],"additionalProperties":false}},"rootRevision":{"type":"number"},"lastError":{"nullable":true,"type":"string"},"composition":{"type":"object","properties":{"served":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["current"]},"rootRevision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"composedAt":{"type":"string","format":"date-time"}},"required":["kind","rootRevision","composedAt"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["previous"]},"rootRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"composedAt":{"nullable":true,"type":"string","format":"date-time"},"batteries":{"nullable":true,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"composed":{"type":"boolean"}},"required":["name","status","composed"],"additionalProperties":false}}},"required":["kind","rootRevision","composedAt","batteries"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["root_only"]}},"required":["kind"],"additionalProperties":false}]},"refusal":{"nullable":true,"type":"object","properties":{"message":{"type":"string"},"at":{"type":"string","format":"date-time"},"rootRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["message","at","rootRevision"],"additionalProperties":false}},"required":["served","refusal"],"additionalProperties":false},"managedInGithub":{"type":"boolean"},"credentialBindings":{"type":"array","items":{"type":"object","properties":{"variable":{"type":"string"},"key":{"type":"string"}},"required":["variable","key"],"additionalProperties":false}}},"required":["batteries","unusedAliases","rootRevision","lastError","composition","managedInGithub","credentialBindings"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/battery-policy-source":{"get":{"operationId":"getOpenappaBatteryPolicySource","tags":["OpenAPPA"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":512},"in":"query","name":"entry","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"entry":{"type":"string"},"name":{"type":"string"},"content":{"type":"string"}},"required":["entry","name","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":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/effective-policy":{"get":{"operationId":"getOpenappaEffectivePolicy","tags":["OpenAPPA"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string"},"content":{"type":"string"},"contentHash":{"type":"string"},"rootRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"installFingerprint":{"type":"string"},"compiledAt":{"type":"string","format":"date-time"},"lastError":{"nullable":true,"type":"string"},"lastErrorAt":{"nullable":true,"type":"string","format":"date-time"},"composition":{"type":"object","properties":{"served":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["current"]},"rootRevision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"composedAt":{"type":"string","format":"date-time"}},"required":["kind","rootRevision","composedAt"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["previous"]},"rootRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"composedAt":{"nullable":true,"type":"string","format":"date-time"},"batteries":{"nullable":true,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"composed":{"type":"boolean"}},"required":["name","status","composed"],"additionalProperties":false}}},"required":["kind","rootRevision","composedAt","batteries"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["root_only"]}},"required":["kind"],"additionalProperties":false}]},"refusal":{"nullable":true,"type":"object","properties":{"message":{"type":"string"},"at":{"type":"string","format":"date-time"},"rootRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["message","at","rootRevision"],"additionalProperties":false}},"required":["served","refusal"],"additionalProperties":false},"servedRevision":{"nullable":true,"type":"object","properties":{"revision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"publishedAt":{"type":"string","format":"date-time"}},"required":["revision","publishedAt"],"additionalProperties":false}},"required":["organizationId","content","contentHash","rootRevision","installFingerprint","compiledAt","lastError","lastErrorAt","composition","servedRevision"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/battery-matches":{"get":{"operationId":"getOpenappaBatteryMatches","tags":["OpenAPPA"],"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":"query","name":"catalogId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"attach":{"type":"string","enum":["ready","unsynced","conflicting"]},"matches":{"type":"array","items":{"type":"object","properties":{"battery":{"type":"string"},"evidence":{"type":"string","enum":["host","image","name"]},"install":{"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)$"},"organizationId":{"type":"string"},"batteryName":{"type":"string"},"catalogId":{"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"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"target":{"anyOf":[{"type":"string","enum":["multi-user"]},{"type":"string","nullable":true,"enum":[null]}]},"packageHash":{"nullable":true,"type":"string"},"lastError":{"nullable":true,"type":"string"},"credentialBindings":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":200}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","batteryName","catalogId","enabled","status","target","packageHash","lastError","credentialBindings","createdAt","updatedAt"],"additionalProperties":false}},"required":["battery","evidence","install"],"additionalProperties":false}}},"required":["attach","matches"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/battery-installs":{"post":{"operationId":"createOpenappaBatteryInstall","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"batteryName":{"type":"string","minLength":1,"maxLength":100},"catalogId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"packageHash":{"default":null,"nullable":true,"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["batteryName"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"entry":{"type":"string"},"name":{"type":"string"},"source":{"type":"string","enum":["bundled","upload"]},"packageHash":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"scope":{"type":"string","enum":["catalogs","organization"]},"composed":{"type":"boolean"},"line":{"type":"number"},"servers":{"type":"array","items":{"type":"object","properties":{"target":{"type":"string"},"catalogId":{"nullable":true,"type":"string"}},"required":["target","catalogId"],"additionalProperties":false}},"credentials":{"type":"array","items":{"type":"object","properties":{"variable":{"type":"string"},"key":{"nullable":true,"type":"string"},"source":{"anyOf":[{"type":"string","enum":["policy","binding"]},{"type":"string","nullable":true,"enum":[null]}]},"readers":{"type":"array","items":{"type":"string"}}},"required":["variable","key","source","readers"],"additionalProperties":false}},"helpers":{"type":"array","items":{"type":"string"}}},"required":["entry","name","source","packageHash","status","scope","composed","line","servers","credentials","helpers"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/battery-installs/{id}":{"get":{"operationId":"getOpenappaBatteryInstall","tags":["OpenAPPA"],"description":"Get one battery install as the last composition stored it, without recomposing; an install whose battery is no longer available is still returned, with status `unavailable`, though the battery list omits it.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage","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"},"batteryName":{"type":"string"},"catalogId":{"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"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"target":{"anyOf":[{"type":"string","enum":["multi-user"]},{"type":"string","nullable":true,"enum":[null]}]},"packageHash":{"nullable":true,"type":"string"},"lastError":{"nullable":true,"type":"string"},"credentialBindings":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":200}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","batteryName","catalogId","enabled","status","target","packageHash","lastError","credentialBindings","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":["guardrailsPolicy:read"]}},"patch":{"operationId":"updateOpenappaBatteryInstall","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"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":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"entry":{"type":"string"},"name":{"type":"string"},"source":{"type":"string","enum":["bundled","upload"]},"packageHash":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"scope":{"type":"string","enum":["catalogs","organization"]},"composed":{"type":"boolean"},"line":{"type":"number"},"servers":{"type":"array","items":{"type":"object","properties":{"target":{"type":"string"},"catalogId":{"nullable":true,"type":"string"}},"required":["target","catalogId"],"additionalProperties":false}},"credentials":{"type":"array","items":{"type":"object","properties":{"variable":{"type":"string"},"key":{"nullable":true,"type":"string"},"source":{"anyOf":[{"type":"string","enum":["policy","binding"]},{"type":"string","nullable":true,"enum":[null]}]},"readers":{"type":"array","items":{"type":"string"}}},"required":["variable","key","source","readers"],"additionalProperties":false}},"helpers":{"type":"array","items":{"type":"string"}}},"required":["entry","name","source","packageHash","status","scope","composed","line","servers","credentials","helpers"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"},"delete":{"operationId":"deleteOpenappaBatteryInstall","tags":["OpenAPPA"],"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","enum":[true]}},"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":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/battery-includes/{name}":{"delete":{"operationId":"deleteOpenappaBatteryInclude","tags":["OpenAPPA"],"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-z0-9][a-z0-9-]*$"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"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":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/credential-bindings":{"get":{"operationId":"getOpenappaCredentialBindings","tags":["OpenAPPA"],"description":"List the stored credential bindings; credential values are never returned.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"variable":{"type":"string"},"credentialKey":{"type":"string"},"hasValue":{"type":"boolean"},"updatedBy":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["variable","credentialKey","hasValue","updatedBy","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":["guardrailsPolicy:read"]}}},"/api/openappa/credential-bindings/{variable}":{"get":{"operationId":"getOpenappaCredentialBinding","tags":["OpenAPPA"],"description":"Get one stored credential binding; the credential value is never returned.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage","parameters":[{"schema":{"type":"string","pattern":"^APPA_PROVIDER_[A-Z0-9_]+$"},"in":"path","name":"variable","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"variable":{"type":"string"},"credentialKey":{"type":"string"},"hasValue":{"type":"boolean"},"updatedBy":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["variable","credentialKey","hasValue","updatedBy","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":["guardrailsPolicy:read"]}},"put":{"operationId":"setOpenappaCredentialBinding","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"nullable":true,"type":"string","minLength":1,"maxLength":200}},"required":["key"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string","pattern":"^APPA_PROVIDER_[A-Z0-9_]+$"},"in":"path","name":"variable","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"batteries":{"type":"array","items":{"type":"object","properties":{"entry":{"type":"string"},"name":{"type":"string"},"source":{"type":"string","enum":["bundled","upload"]},"packageHash":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"scope":{"type":"string","enum":["catalogs","organization"]},"composed":{"type":"boolean"},"line":{"type":"number"},"servers":{"type":"array","items":{"type":"object","properties":{"target":{"type":"string"},"catalogId":{"nullable":true,"type":"string"}},"required":["target","catalogId"],"additionalProperties":false}},"credentials":{"type":"array","items":{"type":"object","properties":{"variable":{"type":"string"},"key":{"nullable":true,"type":"string"},"source":{"anyOf":[{"type":"string","enum":["policy","binding"]},{"type":"string","nullable":true,"enum":[null]}]},"readers":{"type":"array","items":{"type":"string"}}},"required":["variable","key","source","readers"],"additionalProperties":false}},"helpers":{"type":"array","items":{"type":"string"}},"served":{"nullable":true,"type":"object","properties":{"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"composed":{"type":"boolean"}},"required":["status","composed"],"additionalProperties":false}},"required":["entry","name","source","packageHash","status","scope","composed","line","servers","credentials","helpers","served"],"additionalProperties":false}},"unusedAliases":{"type":"array","items":{"type":"object","properties":{"namespace":{"type":"string"},"servers":{"type":"array","items":{"type":"string"}},"line":{"type":"number"}},"required":["namespace","servers","line"],"additionalProperties":false}},"rootRevision":{"type":"number"},"lastError":{"nullable":true,"type":"string"},"composition":{"type":"object","properties":{"served":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["current"]},"rootRevision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"composedAt":{"type":"string","format":"date-time"}},"required":["kind","rootRevision","composedAt"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["previous"]},"rootRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"composedAt":{"nullable":true,"type":"string","format":"date-time"},"batteries":{"nullable":true,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},"composed":{"type":"boolean"}},"required":["name","status","composed"],"additionalProperties":false}}},"required":["kind","rootRevision","composedAt","batteries"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["root_only"]}},"required":["kind"],"additionalProperties":false}]},"refusal":{"nullable":true,"type":"object","properties":{"message":{"type":"string"},"at":{"type":"string","format":"date-time"},"rootRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["message","at","rootRevision"],"additionalProperties":false}},"required":["served","refusal"],"additionalProperties":false},"managedInGithub":{"type":"boolean"},"credentialBindings":{"type":"array","items":{"type":"object","properties":{"variable":{"type":"string"},"key":{"type":"string"}},"required":["variable","key"],"additionalProperties":false}}},"required":["batteries","unusedAliases","rootRevision","lastError","composition","managedInGithub","credentialBindings"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/battery-packages/{name}":{"put":{"operationId":"uploadOpenappaBatteryPackage","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"files":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"text":{"type":"string","maxLength":1048576}},"required":["path","text"],"additionalProperties":false}}},"required":["files"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-z0-9][a-z0-9-]*$"},"in":"path","name":"name","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"contentHash":{"type":"string"},"entry":{"type":"string"},"namespaces":{"type":"array","items":{"type":"string"}},"annotators":{"type":"array","items":{"type":"string"}},"helpers":{"type":"array","items":{"type":"string"}},"credentials":{"type":"array","items":{"type":"string"}},"setup":{"nullable":true,"type":"string"}},"required":["name","description","contentHash","entry","namespaces","annotators","helpers","credentials","setup"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/battery-packages/{contentHash}":{"delete":{"operationId":"deleteOpenappaBatteryPackage","tags":["OpenAPPA"],"parameters":[{"schema":{"type":"string","pattern":"^[0-9a-f]{64}$"},"in":"path","name":"contentHash","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"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":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/coverage/entities":{"get":{"operationId":"getOpenappaCoverageEntities","tags":["OpenAPPA"],"parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"string","maxLength":200},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["mcp_server"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"entityId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"toolId","required":false},{"schema":{"type":"string","enum":["name","tools"]},"in":"query","name":"sortBy","required":false},{"schema":{"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)$"},"name":{"type":"string"},"type":{"type":"string","enum":["mcp_server"]},"scope":{"type":"string","enum":["personal","team","org"]},"icon":{"nullable":true,"type":"string"},"toolCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"governedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fallbackCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rules":{"type":"object","properties":{"root":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"battery":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"notEnforced":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"catchAll":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"notCovered":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["root","battery","notEnforced","catchAll","notCovered"],"additionalProperties":false}},"required":["id","name","type","scope","icon","toolCount","governedCount","fallbackCount","rules"],"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":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/coverage/tools":{"get":{"operationId":"getOpenappaCoverageTools","tags":["OpenAPPA"],"parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"string","maxLength":200},"in":"query","name":"search","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"catalogId","required":false},{"schema":{"type":"string","enum":["battery","root","catchall","not_covered"]},"in":"query","name":"governedBy","required":false},{"schema":{"type":"string","minLength":1,"maxLength":100},"in":"query","name":"battery","required":false},{"schema":{"type":"string","enum":["read","write","approval"]},"in":"query","name":"kind","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"toolId":{"type":"string"},"catalogId":{"type":"string"},"catalogName":{"type":"string"},"catalogIcon":{"nullable":true,"type":"string"},"prefix":{"type":"string"},"name":{"type":"string"},"fullName":{"type":"string"},"readOnly":{"nullable":true,"type":"boolean"},"kind":{"type":"string","enum":["read","write","approval","neutral","unlisted"]},"policySource":{"type":"string","enum":["root","battery","catchall","not_covered"]},"rule":{"nullable":true,"type":"object","properties":{"source":{"type":"string","enum":["root","battery","catchall"]},"battery":{"nullable":true,"type":"string"},"batteryEntry":{"nullable":true,"type":"string"},"batteryStatus":{"nullable":true,"anyOf":[{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused","active"]},{"type":"string","enum":["pending"]}]},"line":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"selector":{"nullable":true,"type":"string"},"delta":{"type":"object","properties":{"trust":{"type":"string"},"audience":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"forwards":{"type":"object","properties":{"trust":{"type":"string"},"audience":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"requires":{"type":"object","properties":{"trust":{"type":"string"},"audience":{"type":"array","items":{"type":"string"}},"attention":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"annotator":{"nullable":true,"type":"string"},"enforced":{"type":"boolean"}},"required":["source","battery","batteryEntry","batteryStatus","line","name","selector","delta","forwards","requires","annotator","enforced"],"additionalProperties":false},"fallbackLine":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unlisted":{"type":"boolean"},"enforced":{"type":"boolean"}},"required":["toolId","catalogId","catalogName","catalogIcon","prefix","name","fullName","readOnly","kind","policySource","rule","fallbackLine","unlisted","enforced"],"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},"servers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"icon":{"nullable":true,"type":"string"}},"required":["id","name","icon"],"additionalProperties":false}},"batteries":{"type":"array","items":{"type":"string"}}},"required":["data","pagination","servers","batteries"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/coverage/summary":{"get":{"operationId":"getOpenappaCoverageSummary","tags":["OpenAPPA"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"totals":{"type":"object","properties":{"root":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"battery":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"notEnforced":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"catchAll":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"notCovered":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tools":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["root","battery","notEnforced","catchAll","notCovered","tools"],"additionalProperties":false},"batteries":{"type":"object","properties":{"active":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"tools":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","tools"],"additionalProperties":false}},"broken":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"status":{"anyOf":[{"type":"string","enum":["unavailable","missing_credentials","naming_conflict","server_missing","unrouted","refused"]},{"type":"string","enum":["pending"]}]},"tools":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","status","tools"],"additionalProperties":false}},"available":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"servers":{"type":"array","items":{"type":"string"}},"tools":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","servers","tools"],"additionalProperties":false}}},"required":["active","broken","available"],"additionalProperties":false},"composition":{"type":"object","properties":{"kind":{"type":"string","enum":["current","previous","root_only"]},"servedRootRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"refusedRootRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rulesMayDiffer":{"type":"boolean"}},"required":["kind","servedRootRevision","refusedRootRevision","rulesMayDiffer"],"additionalProperties":false}},"required":["totals","batteries","composition"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/external-consults":{"get":{"operationId":"getOpenappaExternalConsults","tags":["OpenAPPA"],"description":"Export the external consults Guardrails recorded in the active organization, newest first. [`log:read`](/docs/reference/permissions#log:read) returns the consults of the caller's own sessions. [`log:admin`](/docs/reference/permissions#log:admin) returns every consult in the organization. An audience source's consult names people, so its `request`, `answer`, `rawResponse` and `diagnostics` are null for a caller without [`member:read`](/docs/reference/permissions#member:read). Byte fields are base64.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells","parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"externalName","required":false},{"schema":{"type":"string","enum":["authority","sanitizer","annotator","audience_source","input","context_provider"]},"in":"query","name":"role","required":false},{"schema":{"type":"string","enum":["answered","unregistered","unreachable","dismissed","non_success","timeout","transport","malformed","oversized","unsupported_version","module_error","module_panicked"]},"in":"query","name":"outcome","required":false},{"schema":{"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))$"},"in":"query","name":"from","required":false,"description":"Recorded on or after this time (ISO 8601)"},{"schema":{"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))$"},"in":"query","name":"to","required":false,"description":"Recorded on or before this time (ISO 8601)"},{"schema":{"type":"string","minLength":1},"in":"query","name":"root","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"sessionId","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"llmSessionId","required":false,"description":"An LLM session ID, as on the LLM logs page: consults from every trajectory of that session, sub-agents included"},{"schema":{"type":"string","minLength":1,"maxLength":200},"in":"query","name":"search","required":false,"description":"Case-insensitive substring of the external's name or the session ID"},{"schema":{"default":"json","type":"string","enum":["json","jsonl"]},"in":"query","name":"format","required":false,"description":"`jsonl` streams up to 10000 rows as application/x-ndjson, one consult per line, ignoring `limit`"},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","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"},"sessionId":{"nullable":true,"type":"string"},"callerId":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"startedAt":{"type":"string","format":"date-time"},"durationMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"role":{"type":"string","enum":["authority","sanitizer","annotator","audience_source","input","context_provider"]},"externalName":{"type":"string"},"backend":{"type":"string","enum":["url","command","module","llm","jev","claude_code","hitl","archestra"]},"request":{},"outcome":{"type":"string","enum":["answered","unregistered","unreachable","dismissed","non_success","timeout","transport","malformed","oversized","unsupported_version","module_error","module_panicked"]},"answer":{"nullable":true},"rawResponse":{"nullable":true,"type":"string","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$"},"httpStatus":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"diagnostics":{"nullable":true,"type":"string","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$"},"diagnosticsTruncated":{"type":"boolean"},"root":{"type":"string"},"trajectory":{"type":"string"},"callId":{"nullable":true,"type":"string"},"offerId":{"nullable":true,"type":"string"},"callDigest":{"nullable":true,"type":"string"}},"required":["id","organizationId","sessionId","callerId","createdAt","startedAt","durationMs","role","externalName","backend","request","outcome","answer","rawResponse","httpStatus","diagnostics","diagnosticsTruncated","root","trajectory","callId","offerId","callDigest"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextCursor":{"nullable":true,"type":"string"},"hasNext":{"type":"boolean"}},"required":["limit","nextCursor","hasNext"],"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":["log:read"]}}},"/api/openappa/external-consults/{id}":{"get":{"operationId":"getOpenappaExternalConsult","tags":["OpenAPPA"],"description":"One external consult Guardrails recorded, with where it happened: `llmSessionId` is the LLM session it belongs to and `mcpToolCallId` the logged tool call it was raised for, each null when not logged. Access is as for the list.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells","parameters":[{"schema":{"type":"string","minLength":1},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"consult":{"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"},"sessionId":{"nullable":true,"type":"string"},"callerId":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"startedAt":{"type":"string","format":"date-time"},"durationMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"role":{"type":"string","enum":["authority","sanitizer","annotator","audience_source","input","context_provider"]},"externalName":{"type":"string"},"backend":{"type":"string","enum":["url","command","module","llm","jev","claude_code","hitl","archestra"]},"request":{},"outcome":{"type":"string","enum":["answered","unregistered","unreachable","dismissed","non_success","timeout","transport","malformed","oversized","unsupported_version","module_error","module_panicked"]},"answer":{"nullable":true},"rawResponse":{"nullable":true,"type":"string","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$"},"httpStatus":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"diagnostics":{"nullable":true,"type":"string","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$"},"diagnosticsTruncated":{"type":"boolean"},"root":{"type":"string"},"trajectory":{"type":"string"},"callId":{"nullable":true,"type":"string"},"offerId":{"nullable":true,"type":"string"},"callDigest":{"nullable":true,"type":"string"}},"required":["id","organizationId","sessionId","callerId","createdAt","startedAt","durationMs","role","externalName","backend","request","outcome","answer","rawResponse","httpStatus","diagnostics","diagnosticsTruncated","root","trajectory","callId","offerId","callDigest"],"additionalProperties":false},"llmSessionId":{"nullable":true,"type":"string"},"mcpToolCallId":{"nullable":true,"type":"string"}},"required":["consult","llmSessionId","mcpToolCallId"],"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":["log:read"]}}},"/api/openappa/github-sync":{"get":{"operationId":"getAppaGithubSync","tags":["OpenAPPA"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"source":{"nullable":true,"type":"object","properties":{"organizationId":{"type":"string"},"repo":{"nullable":true,"type":"string"},"ref":{"nullable":true,"type":"string"},"path":{"nullable":true,"type":"string"},"interval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubPatId":{"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)$"},"githubAppConfigId":{"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)$"},"gitlabTokenId":{"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)$"},"revision":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceCommit":{"nullable":true,"type":"string"},"setupPullRequestNumber":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"}},"required":["organizationId","repo","ref","path","interval","githubPatId","githubAppConfigId","gitlabTokenId","revision","sourceCommit","setupPullRequestNumber","lastSyncedAt","lastSyncError"],"additionalProperties":false},"hasPolicy":{"type":"boolean"},"validationDirectory":{"type":"string"},"githubWebUrl":{"type":"string"},"provider":{"type":"string","enum":["github","gitlab"]}},"required":["enabled","source","hasPolicy","validationDirectory","githubWebUrl","provider"],"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":"configureAppaGithubSync","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repo":{"type":"string","maxLength":400,"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.-]*(\\/[a-zA-Z0-9_.-]+)+$"},"ref":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\p{Cc}\\s~^:?*[\\\\]+$"},"path":{"type":"string","minLength":1,"maxLength":500},"interval":{"type":"string","enum":["15m","1h","1d"]},"validationDirectory":{"anyOf":[{"type":"string","enum":[""]},{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"}]},"githubPatId":{"default":null,"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)$"},"githubAppConfigId":{"default":null,"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)$"},"gitlabTokenId":{"default":null,"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":["repo","path","interval"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"source":{"nullable":true,"type":"object","properties":{"organizationId":{"type":"string"},"repo":{"nullable":true,"type":"string"},"ref":{"nullable":true,"type":"string"},"path":{"nullable":true,"type":"string"},"interval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubPatId":{"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)$"},"githubAppConfigId":{"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)$"},"gitlabTokenId":{"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)$"},"revision":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceCommit":{"nullable":true,"type":"string"},"setupPullRequestNumber":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"}},"required":["organizationId","repo","ref","path","interval","githubPatId","githubAppConfigId","gitlabTokenId","revision","sourceCommit","setupPullRequestNumber","lastSyncedAt","lastSyncError"],"additionalProperties":false},"hasPolicy":{"type":"boolean"},"validationDirectory":{"type":"string"},"githubWebUrl":{"type":"string"},"provider":{"type":"string","enum":["github","gitlab"]}},"required":["enabled","source","hasPolicy","validationDirectory","githubWebUrl","provider"],"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"},"patch":{"operationId":"updateAppaGithubSync","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"action":{"type":"string","enum":["sync"]}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["disconnect"]}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["schedule"]},"interval":{"type":"string","enum":["15m","1h","1d"]}},"required":["action","interval"],"additionalProperties":false}]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"source":{"nullable":true,"type":"object","properties":{"organizationId":{"type":"string"},"repo":{"nullable":true,"type":"string"},"ref":{"nullable":true,"type":"string"},"path":{"nullable":true,"type":"string"},"interval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubPatId":{"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)$"},"githubAppConfigId":{"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)$"},"gitlabTokenId":{"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)$"},"revision":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceCommit":{"nullable":true,"type":"string"},"setupPullRequestNumber":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"}},"required":["organizationId","repo","ref","path","interval","githubPatId","githubAppConfigId","gitlabTokenId","revision","sourceCommit","setupPullRequestNumber","lastSyncedAt","lastSyncError"],"additionalProperties":false},"hasPolicy":{"type":"boolean"},"validationDirectory":{"type":"string"},"githubWebUrl":{"type":"string"},"provider":{"type":"string","enum":["github","gitlab"]}},"required":["enabled","source","hasPolicy","validationDirectory","githubWebUrl","provider"],"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/openappa/github-sync/repository":{"post":{"operationId":"createAppaGithubRepository","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"owner":{"type":"string","maxLength":255,"pattern":"^([a-zA-Z0-9][a-zA-Z0-9_.-]*(\\/[a-zA-Z0-9_.-]+)*)?$"},"name":{"type":"string","maxLength":100,"pattern":"^[a-zA-Z0-9_.-]+$"},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"interval":{"type":"string","enum":["15m","1h","1d"]},"existing":{"type":"boolean"},"ref":{"default":null,"nullable":true,"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\p{Cc}\\s~^:?*[\\\\]+$"},"path":{"type":"string","minLength":1,"maxLength":500},"validationDirectory":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"replace":{"type":"boolean"}},"required":["owner","name","interval"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"source":{"nullable":true,"type":"object","properties":{"organizationId":{"type":"string"},"repo":{"nullable":true,"type":"string"},"ref":{"nullable":true,"type":"string"},"path":{"nullable":true,"type":"string"},"interval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubPatId":{"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)$"},"githubAppConfigId":{"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)$"},"gitlabTokenId":{"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)$"},"revision":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceCommit":{"nullable":true,"type":"string"},"setupPullRequestNumber":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"}},"required":["organizationId","repo","ref","path","interval","githubPatId","githubAppConfigId","gitlabTokenId","revision","sourceCommit","setupPullRequestNumber","lastSyncedAt","lastSyncError"],"additionalProperties":false},"hasPolicy":{"type":"boolean"},"validationDirectory":{"type":"string"},"githubWebUrl":{"type":"string"},"provider":{"type":"string","enum":["github","gitlab"]}},"required":["enabled","source","hasPolicy","validationDirectory","githubWebUrl","provider"],"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/openappa/github-app/manifest":{"post":{"operationId":"startAppaGithubApp","tags":["OpenAPPA"],"description":"Start registering the OpenAPPA GitHub App, from a manifest, on the account that owns the policy repository\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":{"githubUrl":{"type":"string","maxLength":500,"format":"uri"},"owner":{"type":"string","maxLength":39,"pattern":"^[a-zA-Z0-9](?:[a-zA-Z0-9]|-(?=[a-zA-Z0-9]))*$"}},"required":["githubUrl","owner"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"manifest":{"type":"string"}},"required":["url","manifest"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["organizationSettings:update"]}}},"/api/openappa/github-app/manifest/complete":{"post":{"operationId":"completeAppaGithubApp","tags":["OpenAPPA"],"description":"Exchange GitHub's one-time code for the new App; it is stored once installed\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\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":{"code":{"type":"string","minLength":1,"maxLength":512},"state":{"type":"string","minLength":1,"maxLength":256}},"required":["code","state"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"account":{"type":"string"},"appId":{"type":"string"},"accountUrl":{"type":"string"},"htmlUrl":{"type":"string"},"installUrl":{"type":"string"},"settingsUrl":{"type":"string"}},"required":["name","slug","account","appId","accountUrl","htmlUrl","installUrl","settingsUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["organizationSettings:update"]}}},"/api/openappa/github-app/pending":{"get":{"operationId":"getPendingAppaGithubApp","tags":["OpenAPPA"],"description":"The GitHub App created during setup that is not installed yet\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`organizationSettings:update`](/docs/reference/permissions#organizationSettings:update): Change organization settings, messaging channels, and site notifications","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"nullable":true,"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"account":{"type":"string"},"appId":{"type":"string"},"accountUrl":{"type":"string"},"htmlUrl":{"type":"string"},"installUrl":{"type":"string"},"settingsUrl":{"type":"string"}},"required":["name","slug","account","appId","accountUrl","htmlUrl","installUrl","settingsUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["organizationSettings:update"]}},"delete":{"operationId":"discardAppaGithubApp","tags":["OpenAPPA"],"description":"Forget the GitHub App created during setup so setup can start over\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`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/openappa/github-app/install":{"post":{"operationId":"installAppaGithubApp","tags":["OpenAPPA"],"description":"Store the new GitHub App as an organization credential once it is installed\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":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["waiting"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["installed"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"account":{"type":"string"}},"required":["status","id","name","account"],"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/openappa/github-app/repository":{"get":{"operationId":"getAppaGithubRepositoryStatus","tags":["OpenAPPA"],"description":"Whether a policy repository already exists, as far as the organization's GitHub Apps can see\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":"query","name":"credentialId","required":true},{"schema":{"type":"string","maxLength":400,"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.-]*(?:\\/[a-zA-Z0-9_.-]+)+$"},"in":"query","name":"repo","required":true},{"schema":{"type":"string","minLength":1,"maxLength":200},"in":"query","name":"ref","required":false},{"schema":{"type":"string","maxLength":500,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*\\.toml$"},"in":"query","name":"path","required":false},{"schema":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"in":"query","name":"validationDirectory","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["template","empty","policy","other","unreachable","app_error"]},"validations":{"nullable":true,"type":"boolean"}},"required":["status","validations"],"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/openappa/github-app/accounts":{"get":{"operationId":"getAppaGithubAppAccounts","tags":["OpenAPPA"],"description":"The GitHub account each organization GitHub App is installed on\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`credential:read`](/docs/reference/permissions#credential:read): Open Credentials","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)$"},"account":{"nullable":true,"type":"string"}},"required":["id","account"],"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":["credential:read"]}}},"/api/openappa/github-app/repositories":{"get":{"operationId":"getAppaGithubAppRepositories","tags":["OpenAPPA"],"description":"The repositories an organization GitHub App can reach, recent template copies first\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":"query","name":"credentialId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"repositories":{"type":"array","items":{"type":"object","properties":{"fullName":{"type":"string"},"private":{"type":"boolean"},"description":{"nullable":true,"type":"string"},"template":{"type":"boolean"}},"required":["fullName","private","description","template"],"additionalProperties":false}},"manageUrl":{"nullable":true,"type":"string"}},"required":["repositories","manageUrl"],"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/openappa/helpers/{installId}/{externalName}":{"post":{"operationId":"consultOpenappaBatteryHelper","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"installId","required":true},{"schema":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[A-Za-z0-9._-]+$"},"in":"path","name":"externalName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)"}},"/api/openappa/label-changes":{"get":{"operationId":"getOpenappaLabelChanges","tags":["OpenAPPA"],"description":"The trust and audience label of an LLM session over time, oldest first: a `session_start` baseline, then one row per change, with the event that moved it and the rule the current policy applies to the tool. Viewers who may not read everyone's consults see only their own sessions.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells","parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"llmSessionId","required":true,"description":"An LLM session ID, as on the LLM logs page"}],"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"},"root":{"type":"string"},"sessionId":{"type":"string"},"callerId":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"event":{"type":"string","enum":["session_start","tool_call","tool_result","remedy","child_return","other"]},"callId":{"nullable":true,"type":"string"},"tool":{"nullable":true,"description":"The full tool name, from the record or the logged tool call","type":"string"},"trustBefore":{"type":"string"},"audienceBefore":{"type":"string"},"trustAfter":{"type":"string"},"audienceAfter":{"type":"string"},"policyRevision":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rule":{"nullable":true,"description":"The rule the current policy applies to the tool (the first that names it, else the catch-all). The engine does not record which rule matched a call.","type":"object","properties":{"source":{"type":"string","enum":["root","battery","catchall"]},"battery":{"nullable":true,"type":"string"},"batteryEntry":{"nullable":true,"type":"string"},"line":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"text":{"nullable":true,"description":"The rule's TOML block","type":"string"}},"required":["source","battery","batteryEntry","line","text"],"additionalProperties":false}},"required":["id","organizationId","root","sessionId","callerId","createdAt","event","callId","tool","trustBefore","audienceBefore","trustAfter","audienceAfter","policyRevision","rule"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["log:read"]}}},"/api/openappa/policy-tests/inspect":{"post":{"operationId":"inspectOpenAppaPolicyTests","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"files":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"content":{"type":"string","maxLength":65536}},"required":["path","content"],"additionalProperties":false}}},"required":["files"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"tools":{"type":"array","items":{"type":"string"}},"assertionCount":{"nullable":true,"type":"integer","minimum":0,"maximum":9007199254740991},"error":{"nullable":true,"type":"string"}},"required":["path","tools","assertionCount","error"],"additionalProperties":false}}},"required":["files"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/policy-tests":{"get":{"operationId":"getOpenAppaPolicyTests","tags":["OpenAPPA"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"source":{"type":"string","enum":["local","github"]},"files":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"content":{"type":"string","maxLength":65536}},"required":["path","content"],"additionalProperties":false}},"version":{"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"directory":{"type":"string"},"activeDirectory":{"type":"string"},"error":{"nullable":true,"type":"string"}},"required":["source","files","version","sourceCommit","directory","activeDirectory","error"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"},"put":{"operationId":"updateOpenAppaPolicyTests","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"files":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"content":{"type":"string","maxLength":65536}},"required":["path","content"],"additionalProperties":false}},"expectedVersion":{"type":"string"}},"required":["files","expectedVersion"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"source":{"type":"string","enum":["local","github"]},"files":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"content":{"type":"string","maxLength":65536}},"required":["path","content"],"additionalProperties":false}},"version":{"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"directory":{"type":"string"},"activeDirectory":{"type":"string"},"error":{"nullable":true,"type":"string"}},"required":["source","files","version","sourceCommit","directory","activeDirectory","error"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/policy-tests/run":{"post":{"operationId":"runOpenAppaPolicyTests","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"files":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"content":{"type":"string","maxLength":65536}},"required":["path","content"],"additionalProperties":false}},"sourceVersion":{"type":"string"},"directory":{"default":"traces","type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"partial":{"type":"boolean"},"progressToken":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":["files","sourceVersion"],"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)$"},"createdBy":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"trigger":{"type":"string","enum":["manual","github_sync","policy_change"]},"partial":{"type":"boolean"},"executionError":{"type":"string"},"source":{"type":"string","enum":["local","github"]},"sourceVersion":{"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"definitionHash":{"type":"string"},"policyRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"policyHash":{"type":"string"},"effectivePolicyHash":{"type":"string"},"engineVersion":{"type":"string"},"draft":{"type":"boolean"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"assertionCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["passed","failed","cannot_run"]},"error":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"durationMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"steps":{"type":"array","items":{"type":"object","properties":{"line":{"type":"integer","minimum":0,"maximum":9007199254740991},"tool":{"type":"string"},"expected":{"type":"string"},"actual":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["passed","failed","cannot_run"]},"error":{"nullable":true,"type":"string"},"reasons":{"type":"array","items":{"type":"string"}}},"required":["line","tool","expected","actual","status"],"additionalProperties":false}}},"required":["path","assertionCount","status","contentHash","steps"],"additionalProperties":false}},"validation":{"type":"object","properties":{"valid":{"type":"boolean"},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}},"required":["valid","errors","warnings"],"additionalProperties":false}},"required":["id","createdBy","createdAt","source","sourceVersion","sourceCommit","definitionHash","policyRevision","policyHash","effectivePolicyHash","engineVersion","draft","files","validation"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/policy-tests/runs":{"get":{"operationId":"getOpenAppaPolicyTestRuns","tags":["OpenAPPA"],"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)$"},"createdBy":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"trigger":{"type":"string","enum":["manual","github_sync","policy_change"]},"partial":{"type":"boolean"},"executionError":{"type":"string"},"source":{"type":"string","enum":["local","github"]},"sourceVersion":{"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"definitionHash":{"type":"string"},"policyRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"policyHash":{"type":"string"},"effectivePolicyHash":{"type":"string"},"engineVersion":{"type":"string"},"draft":{"type":"boolean"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"assertionCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["passed","failed","cannot_run"]},"error":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"durationMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"steps":{"type":"array","items":{"type":"object","properties":{"line":{"type":"integer","minimum":0,"maximum":9007199254740991},"tool":{"type":"string"},"expected":{"type":"string"},"actual":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["passed","failed","cannot_run"]},"error":{"nullable":true,"type":"string"},"reasons":{"type":"array","items":{"type":"string"}}},"required":["line","tool","expected","actual","status"],"additionalProperties":false}}},"required":["path","assertionCount","status","contentHash","steps"],"additionalProperties":false}},"validation":{"type":"object","properties":{"valid":{"type":"boolean"},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}},"required":["valid","errors","warnings"],"additionalProperties":false}},"required":["id","createdBy","createdAt","source","sourceVersion","sourceCommit","definitionHash","policyRevision","policyHash","effectivePolicyHash","engineVersion","draft","files","validation"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage"}},"/api/openappa/policy-tests/preview":{"post":{"operationId":"previewOpenAppaPolicyTest","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"files":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"},"content":{"type":"string","maxLength":65536}},"required":["path","content"],"additionalProperties":false}},"sourceVersion":{"type":"string"},"directory":{"default":"traces","type":"string","minLength":1,"maxLength":240,"pattern":"^[a-zA-Z0-9_.-]+(?:\\/[a-zA-Z0-9_.-]+)*$"}},"required":["files","sourceVersion"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"trigger":{"type":"string","enum":["manual","github_sync","policy_change"]},"partial":{"type":"boolean"},"executionError":{"type":"string"},"source":{"type":"string","enum":["local","github"]},"sourceVersion":{"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"definitionHash":{"type":"string"},"policyRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"policyHash":{"type":"string"},"effectivePolicyHash":{"type":"string"},"engineVersion":{"type":"string"},"draft":{"type":"boolean"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"assertionCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["passed","failed","cannot_run"]},"error":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"durationMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"steps":{"type":"array","items":{"type":"object","properties":{"line":{"type":"integer","minimum":0,"maximum":9007199254740991},"tool":{"type":"string"},"expected":{"type":"string"},"actual":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["passed","failed","cannot_run"]},"error":{"nullable":true,"type":"string"},"reasons":{"type":"array","items":{"type":"string"}}},"required":["line","tool","expected","actual","status"],"additionalProperties":false}}},"required":["path","assertionCount","status","contentHash","steps"],"additionalProperties":false}},"validation":{"type":"object","properties":{"valid":{"type":"boolean"},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}},"required":["valid","errors","warnings"],"additionalProperties":false}},"required":["source","sourceVersion","sourceCommit","definitionHash","policyRevision","policyHash","effectivePolicyHash","engineVersion","draft","files","validation"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:update"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:update`](/docs/reference/permissions#guardrailsPolicy:update): Validate and edit Guardrails policy and manage batteries"}},"/api/openappa/remedies":{"get":{"operationId":"getOpenappaRemedies","tags":["OpenAPPA"],"description":"The authorities and sanitizers the policy and its included batteries declare, who runs each, what it may lift, and which kinds of block the rules can cause that no wired remedy lifts. `lastConsult` is filled only for a caller with [`log:admin`](/docs/reference/permissions#log:admin).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"authorities":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"source":{"type":"object","properties":{"entry":{"nullable":true,"type":"string"},"battery":{"nullable":true,"type":"string"},"line":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["entry","battery","line"],"additionalProperties":false},"implementation":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["hitl","approve","llm","claude_code","builtin","module","url","command"]},"detail":{"nullable":true,"type":"string"}},"required":["kind","detail"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"lastConsult":{"nullable":true,"type":"object","properties":{"outcome":{"type":"string","enum":["answered","unregistered","unreachable","dismissed","non_success","timeout","transport","malformed","oversized","unsupported_version","module_error","module_panicked"]},"at":{"type":"string","format":"date-time"}},"required":["outcome","at"],"additionalProperties":false},"kind":{"type":"string","enum":["authority"]},"permits":{"type":"object","properties":{"attention":{"type":"array","items":{"type":"string"}},"audienceMissing":{"type":"array","items":{"type":"string"}},"trustBelow":{"nullable":true,"type":"string"},"effectsContaining":{"type":"array","items":{"type":"string"}}},"required":["attention","audienceMissing","trustBelow","effectsContaining"],"additionalProperties":false}},"required":["name","source","implementation","tags","lastConsult","kind","permits"],"additionalProperties":false}},"sanitizers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"source":{"type":"object","properties":{"entry":{"nullable":true,"type":"string"},"battery":{"nullable":true,"type":"string"},"line":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["entry","battery","line"],"additionalProperties":false},"implementation":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["hitl","approve","llm","claude_code","builtin","module","url","command"]},"detail":{"nullable":true,"type":"string"}},"required":["kind","detail"],"additionalProperties":false},"tags":{"type":"array","items":{"type":"string"}},"lastConsult":{"nullable":true,"type":"object","properties":{"outcome":{"type":"string","enum":["answered","unregistered","unreachable","dismissed","non_success","timeout","transport","malformed","oversized","unsupported_version","module_error","module_panicked"]},"at":{"type":"string","format":"date-time"}},"required":["outcome","at"],"additionalProperties":false},"kind":{"type":"string","enum":["sanitizer"]},"on":{"type":"array","items":{"type":"string","enum":["tool_output","tool_input"]}},"permits":{"nullable":true,"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["audience"]},"from":{"type":"array","items":{"type":"string"}},"to":{"type":"array","items":{"type":"string"}}},"required":["kind","from","to"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["trust"]},"from":{"type":"string"},"to":{"type":"string"}},"required":["kind","from","to"],"additionalProperties":false}]}},"required":["name","source","implementation","tags","lastConsult","kind","on","permits"],"additionalProperties":false}},"blocks":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["trust","audience","effects","approvals"]},"level":{"nullable":true,"type":"string"},"approvers":{"type":"array","items":{"type":"string"}},"cleaners":{"type":"array","items":{"type":"string"}},"unservedMarks":{"type":"array","items":{"type":"string"}},"covered":{"type":"boolean"}},"required":["kind","level","approvers","cleaners","unservedMarks","covered"],"additionalProperties":false}}},"required":["authorities","sanitizers","blocks"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]}}},"/api/openappa/remedies/activity":{"get":{"operationId":"getOpenappaRemediesActivity","tags":["OpenAPPA"],"description":"Tool calls the runtime denied on each of the last seven days, by how each ended: approved by an authority, cleaned by a sanitizer, or blocked when neither lifted it. Days are calendar days in `timeZone`.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage","parameters":[{"schema":{"default":"UTC","type":"string","maxLength":64},"in":"query","name":"timeZone","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"timeZone":{"type":"string"},"days":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"blocked":{"type":"integer","minimum":0,"maximum":9007199254740991},"approved":{"type":"integer","minimum":0,"maximum":9007199254740991},"cleaned":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["date","blocked","approved","cleaned"],"additionalProperties":false}}},"required":["timeZone","days"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]}}},"/api/openappa/trust-audience":{"get":{"operationId":"getOpenappaTrustAudience","tags":["OpenAPPA"],"description":"The trust levels and audiences the policy works with, the audience sources included batteries declare, and the rules naming each audience. `lastConsult` is filled only for a caller with [`log:admin`](/docs/reference/permissions#log:admin).\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`guardrailsPolicy:read`](/docs/reference/permissions#guardrailsPolicy:read): View Guardrails policy, batteries, and coverage","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"trust":{"type":"array","items":{"type":"string"}},"audiences":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"kind":{"type":"string","enum":["builtin"]}},"required":["name","kind"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string"},"kind":{"type":"string","enum":["mapped"]},"mappingLine":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"from":{"type":"array","items":{"type":"object","properties":{"entry":{"nullable":true,"type":"string"},"line":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"source":{"type":"string"},"selector":{"type":"string"},"declaredBy":{"nullable":true,"type":"object","properties":{"battery":{"type":"string"},"runBy":{"type":"string","enum":["archestra","helper"]},"lastConsult":{"nullable":true,"type":"object","properties":{"outcome":{"type":"string","enum":["answered","unregistered","unreachable","dismissed","non_success","timeout","transport","malformed","oversized","unsupported_version","module_error","module_panicked"]},"at":{"type":"string","format":"date-time"}},"required":["outcome","at"],"additionalProperties":false}},"required":["battery","runBy","lastConsult"],"additionalProperties":false}},"required":["entry","line","source","selector","declaredBy"],"additionalProperties":false}},"within":{"nullable":true,"type":"string"}},"required":["name","kind","mappingLine","from","within"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string"},"kind":{"type":"string","enum":["unmapped"]}},"required":["name","kind"],"additionalProperties":false}]}}},"required":["trust","audiences"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["guardrailsPolicy:read"]}}},"/api/openappa/yells":{"get":{"operationId":"getOpenAppaYells","tags":["OpenAPPA"],"parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false},{"schema":{"type":"string","maxLength":200},"in":"query","name":"search","required":false},{"schema":{"default":"unresolved","type":"string","enum":["unresolved","resolved","all"]},"in":"query","name":"status","required":false},{"schema":{"type":"string","minLength":1,"maxLength":512},"in":"query","name":"llmSessionId","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"},"callerId":{"type":"string"},"sessionId":{"type":"string"},"toolCallId":{"type":"string"},"message":{"type":"string"},"withTrajectory":{"type":"boolean"},"superyell":{"type":"boolean"},"kind":{"type":"string","enum":["agent","approval_waived","block_waived"]},"count":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"reportedAt":{"nullable":true,"type":"string","format":"date-time"},"reportFailed":{"type":"boolean"},"resolvedAt":{"nullable":true,"type":"string","format":"date-time"},"resolvedBy":{"nullable":true,"type":"string"},"hasArchive":{"type":"boolean"},"caller":{"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},"callerApp":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"conversation":{"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)$"},"title":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","title","createdAt"],"additionalProperties":false},"trace":{"nullable":true,"type":"object","properties":{"llmSessionId":{"type":"string"},"mcpToolCallId":{"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":["llmSessionId","mcpToolCallId"],"additionalProperties":false}},"required":["id","organizationId","callerId","sessionId","toolCallId","message","withTrajectory","superyell","kind","count","createdAt","reportedAt","reportFailed","resolvedAt","resolvedBy","hasArchive","caller","callerApp","conversation","trace"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextCursor":{"nullable":true,"type":"string"},"hasNext":{"type":"boolean"}},"required":["limit","nextCursor","hasNext"],"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":["log:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells"}},"/api/openappa/yells/summary":{"get":{"operationId":"getOpenAppaYellsSummary","tags":["OpenAPPA"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"unresolved":{"type":"number"},"superyells":{"type":"number"}},"required":["unresolved","superyells"],"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":["log:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells"}},"/api/openappa/yells/{id}":{"get":{"operationId":"getOpenAppaYell","tags":["OpenAPPA"],"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"},"callerId":{"type":"string"},"sessionId":{"type":"string"},"toolCallId":{"type":"string"},"message":{"type":"string"},"withTrajectory":{"type":"boolean"},"superyell":{"type":"boolean"},"kind":{"type":"string","enum":["agent","approval_waived","block_waived"]},"count":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"reportedAt":{"nullable":true,"type":"string","format":"date-time"},"reportFailed":{"type":"boolean"},"resolvedAt":{"nullable":true,"type":"string","format":"date-time"},"resolvedBy":{"nullable":true,"type":"string"},"hasArchive":{"type":"boolean"},"caller":{"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},"callerApp":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"conversation":{"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)$"},"title":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","title","createdAt"],"additionalProperties":false},"trace":{"nullable":true,"type":"object","properties":{"llmSessionId":{"type":"string"},"mcpToolCallId":{"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":["llmSessionId","mcpToolCallId"],"additionalProperties":false}},"required":["id","organizationId","callerId","sessionId","toolCallId","message","withTrajectory","superyell","kind","count","createdAt","reportedAt","reportFailed","resolvedAt","resolvedBy","hasArchive","caller","callerApp","conversation","trace"],"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":["log:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells"},"patch":{"operationId":"updateOpenAppaYell","tags":["OpenAPPA"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"resolved":{"type":"boolean"}},"required":["resolved"]}}}},"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"},"callerId":{"type":"string"},"sessionId":{"type":"string"},"toolCallId":{"type":"string"},"message":{"type":"string"},"withTrajectory":{"type":"boolean"},"superyell":{"type":"boolean"},"kind":{"type":"string","enum":["agent","approval_waived","block_waived"]},"count":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"reportedAt":{"nullable":true,"type":"string","format":"date-time"},"reportFailed":{"type":"boolean"},"resolvedAt":{"nullable":true,"type":"string","format":"date-time"},"resolvedBy":{"nullable":true,"type":"string"},"hasArchive":{"type":"boolean"},"caller":{"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},"callerApp":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"conversation":{"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)$"},"title":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","title","createdAt"],"additionalProperties":false},"trace":{"nullable":true,"type":"object","properties":{"llmSessionId":{"type":"string"},"mcpToolCallId":{"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":["llmSessionId","mcpToolCallId"],"additionalProperties":false}},"required":["id","organizationId","callerId","sessionId","toolCallId","message","withTrajectory","superyell","kind","count","createdAt","reportedAt","reportFailed","resolvedAt","resolvedBy","hasArchive","caller","callerApp","conversation","trace"],"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":["log:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells"}},"/api/openappa/yells/{id}/archive":{"get":{"operationId":"downloadOpenAppaYell","tags":["OpenAPPA"],"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"}},"x-required-permissions":{"kind":"static","permissions":["log:read"]},"description":"Authentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells"}},"/api/plugins/labels/keys":{"get":{"operationId":"pluginLabelKeys","tags":["Plugins"],"description":"Get all label keys used by plugins\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:read`](/docs/reference/permissions#plugin:read): View plugins and their file metadata","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":["plugin:read"]}}},"/api/plugins/labels/values":{"get":{"operationId":"pluginLabelValues","tags":["Plugins"],"description":"Get all label values used by plugins\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:read`](/docs/reference/permissions#plugin:read): View plugins and their file metadata","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":["plugin:read"]}}},"/api/plugins":{"get":{"operationId":"getPlugins","tags":["Plugins"],"description":"List plugins for the organization\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:read`](/docs/reference/permissions#plugin:read): View plugins and their file metadata","parameters":[{"schema":{"type":"string"},"in":"query","name":"labels","required":false,"description":"Filter by labels. Format: key1:val1|val2;key2:val3. AND across keys, OR within values."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","enum":["mine","shared","org","others"]}},"in":"query","name":"access","required":false,"description":"Keep only objects the caller reaches in one of these ways (comma-separated): mine (authored by the caller), shared (shared with the caller or one of their teams), org (shared with the organization), others (visible only through organization-wide authority). Omit for every readable object."},{"schema":{"minItems":1,"type":"array","items":{"type":"string"}},"in":"query","name":"sharedWith","required":false,"description":"Keep only objects whose own permissions grant read to one of these subjects (comma-separated): org (the whole organization), role:<roleId>, team:<teamId>, user:<userId>, serviceAccount:<serviceAccountId>. Grants inherited from organization-wide permissions do not count. Omit for no filtering."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"owner","required":false,"description":"Keep only objects authored by one of these user IDs (comma-separated). Narrows the rows the caller can already read. Omit for no filtering."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"sourceKind":{"type":"string","enum":["manual","github"]},"sourceRepo":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSha":{"nullable":true,"type":"string"},"sourceSubdir":{"nullable":true,"type":"string"},"sourceExclude":{"type":"array","items":{"type":"string"}},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"sourceMarketplacePath":{"nullable":true,"type":"string"},"sourceMarketplacePluginName":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"sourceOrigin":{"nullable":true,"type":"string"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"pendingSourceSha":{"nullable":true,"type":"string"},"pendingContentHash":{"nullable":true,"type":"string"},"pendingDetectedAt":{"nullable":true,"type":"string","format":"date-time"},"sourceId":{"nullable":true,"type":"string"},"approvedContentHash":{"nullable":true,"type":"string"},"approvedAt":{"nullable":true,"type":"string","format":"date-time"},"approvedBy":{"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"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},"fileCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","organizationId","authorId","scope","clientType","supportedPlatforms","pluginSlug","displayName","description","icon","contentHash","sourceKind","sourceRepo","sourceRef","sourceSha","sourceSubdir","sourceExclude","sourceMarketplaceRepo","sourceMarketplacePath","sourceMarketplacePluginName","githubSyncInterval","githubSyncRef","sourceProvider","sourceOrigin","lastSyncedAt","pendingSourceSha","pendingContentHash","pendingDetectedAt","sourceId","approvedContentHash","approvedAt","approvedBy","enabled","createdByServiceAccountId","createdAt","updatedAt","deletedAt","teams","users","labels","createdBy","fileCount"],"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":["plugin:read"]}},"post":{"operationId":"createPlugin","tags":["Plugins"],"description":"Create a plugin. Hook configuration bytes are stored verbatim.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:create`](/docs/reference/permissions#plugin:create): Create plugins","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"displayName":{"type":"string","minLength":1,"maxLength":120},"description":{"default":"","type":"string","maxLength":1000},"icon":{"description":"Emoji or base64 image data URL shown with the name.","nullable":true,"type":"string"},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"files":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"content":{"type":"string","maxLength":1024000},"encoding":{"default":"utf8","type":"string","enum":["utf8","base64"]},"mode":{"default":"100644","type":"string","enum":["100644","100755"]}},"required":["path","content"]}},"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"]}},"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":["displayName","clientType","files"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"sourceKind":{"type":"string","enum":["manual","github"]},"sourceRepo":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSha":{"nullable":true,"type":"string"},"sourceSubdir":{"nullable":true,"type":"string"},"sourceExclude":{"type":"array","items":{"type":"string"}},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"sourceMarketplacePath":{"nullable":true,"type":"string"},"sourceMarketplacePluginName":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"sourceOrigin":{"nullable":true,"type":"string"},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"pendingSourceSha":{"nullable":true,"type":"string"},"pendingContentHash":{"nullable":true,"type":"string"},"pendingDetectedAt":{"nullable":true,"type":"string","format":"date-time"},"sourceId":{"nullable":true,"type":"string"},"approvedContentHash":{"nullable":true,"type":"string"},"approvedAt":{"nullable":true,"type":"string","format":"date-time"},"approvedBy":{"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"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},"files":{"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)$"},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]},"digest":{"type":"string"}},"required":["id","pluginId","path","content","encoding","mode","digest"],"additionalProperties":false}}},"required":["id","organizationId","authorId","scope","clientType","supportedPlatforms","pluginSlug","displayName","description","icon","contentHash","sourceKind","sourceRepo","sourceRef","sourceSha","sourceSubdir","sourceExclude","sourceMarketplaceRepo","sourceMarketplacePath","sourceMarketplacePluginName","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","sourceOrigin","gitlabTokenId","lastSyncedAt","lastSyncError","pendingSourceSha","pendingContentHash","pendingDetectedAt","sourceId","approvedContentHash","approvedAt","approvedBy","enabled","createdByServiceAccountId","createdAt","updatedAt","deletedAt","teams","users","labels","createdBy","files"],"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":["plugin:create"]}}},"/api/plugins/github/marketplace/discover":{"post":{"operationId":"discoverGithubPluginMarketplace","tags":["Plugins"],"description":"Discover and normalize plugins advertised by a GitHub marketplace repository\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:create`](/docs/reference/permissions#plugin:create): Create plugins","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string","minLength":1},"ref":{"nullable":true,"type":"string","minLength":1},"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string","minLength":1},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"marketplacePath":{"type":"string","enum":[".claude-plugin/marketplace.json",".github/plugin/marketplace.json",".agents/plugins/marketplace.json",".cursor-plugin/marketplace.json","marketplace.json"]}},"required":["repoUrl"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string"},"ref":{"nullable":true,"type":"string"},"commitSha":{"type":"string"},"marketplacePath":{"nullable":true,"type":"string"},"entries":{"type":"array","items":{"type":"object","properties":{"marketplacePath":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"version":{"type":"string"},"clientType":{"nullable":true,"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"sourceRepoUrl":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSubdir":{"type":"string"},"sourceCommitSha":{"nullable":true,"type":"string"},"fileCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"supported":{"type":"boolean"},"reason":{"nullable":true,"type":"string"}},"required":["marketplacePath","name","description","version","clientType","sourceRepoUrl","sourceRef","sourceSubdir","sourceCommitSha","fileCount","supported","reason"],"additionalProperties":false}},"reason":{"nullable":true,"type":"string"}},"required":["repoUrl","ref","commitSha","marketplacePath","entries","reason"],"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":["plugin:create"]}}},"/api/plugins/github/marketplace/import":{"post":{"operationId":"importGithubPluginMarketplace","tags":["Plugins"],"description":"Import selected plugins from one reviewed GitHub marketplace snapshot\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:create`](/docs/reference/permissions#plugin:create): Create plugins","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string","minLength":1},"ref":{"nullable":true,"type":"string","minLength":1},"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string","minLength":1},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"marketplacePath":{"nullable":true,"description":"The reviewed manifest path, or null to import plugin folders discovered in a repository without a marketplace manifest","type":"string","enum":[".claude-plugin/marketplace.json",".github/plugin/marketplace.json",".agents/plugins/marketplace.json",".cursor-plugin/marketplace.json","marketplace.json"]},"approvedCommitSha":{"type":"string","pattern":"^[a-f0-9]{40}$"},"trackingRef":{"nullable":true,"type":"string","minLength":1},"selected":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"displayName":{"type":"string","minLength":1,"maxLength":120},"description":{"default":"","type":"string","maxLength":1000},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"sourceRepoUrl":{"type":"string","minLength":1},"sourceRef":{"nullable":true,"type":"string"},"sourceSubdir":{"type":"string"},"approvedSourceSha":{"type":"string","pattern":"^[a-f0-9]{40}$"},"exclude":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","minLength":1}}},"required":["name","displayName","clientType","supportedPlatforms","sourceRepoUrl","sourceRef","sourceSubdir","approvedSourceSha"]}},"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"]}},"syncInterval":{"default":"1d","anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]}},"required":["repoUrl","marketplacePath","approvedCommitSha","trackingRef","selected"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"sourceKind":{"type":"string","enum":["manual","github"]},"sourceRepo":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSha":{"nullable":true,"type":"string"},"sourceSubdir":{"nullable":true,"type":"string"},"sourceExclude":{"type":"array","items":{"type":"string"}},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"sourceMarketplacePath":{"nullable":true,"type":"string"},"sourceMarketplacePluginName":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"sourceOrigin":{"nullable":true,"type":"string"},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"pendingSourceSha":{"nullable":true,"type":"string"},"pendingContentHash":{"nullable":true,"type":"string"},"pendingDetectedAt":{"nullable":true,"type":"string","format":"date-time"},"sourceId":{"nullable":true,"type":"string"},"approvedContentHash":{"nullable":true,"type":"string"},"approvedAt":{"nullable":true,"type":"string","format":"date-time"},"approvedBy":{"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"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},"files":{"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)$"},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]},"digest":{"type":"string"}},"required":["id","pluginId","path","content","encoding","mode","digest"],"additionalProperties":false}}},"required":["id","organizationId","authorId","scope","clientType","supportedPlatforms","pluginSlug","displayName","description","icon","contentHash","sourceKind","sourceRepo","sourceRef","sourceSha","sourceSubdir","sourceExclude","sourceMarketplaceRepo","sourceMarketplacePath","sourceMarketplacePluginName","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","sourceOrigin","gitlabTokenId","lastSyncedAt","lastSyncError","pendingSourceSha","pendingContentHash","pendingDetectedAt","sourceId","approvedContentHash","approvedAt","approvedBy","enabled","createdByServiceAccountId","createdAt","updatedAt","deletedAt","teams","users","labels","createdBy","files"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"error":{"type":"string"}},"required":["name","error"],"additionalProperties":false}}},"required":["created","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":["plugin:create"]}}},"/api/plugins/github/preview":{"post":{"operationId":"previewGithubPlugin","tags":["Plugins"],"description":"Resolve a GitHub ref and preview the exact by-value plugin bytes\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:create`](/docs/reference/permissions#plugin:create): Create plugins","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string","minLength":1},"ref":{"nullable":true,"type":"string","minLength":1},"subdir":{"default":"","type":"string"},"exclude":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","minLength":1}},"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string","minLength":1},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":["repoUrl"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"repo":{"type":"string"},"sourceProvider":{"type":"string","enum":["github","gitlab"]},"sourceOrigin":{"nullable":true,"type":"string"},"requestedRef":{"nullable":true,"type":"string"},"commitSha":{"type":"string"},"subdir":{"type":"string"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]}},"required":["path","content","encoding","mode"],"additionalProperties":false}},"skippedFiles":{"type":"array","items":{"type":"string"}}},"required":["repo","sourceProvider","sourceOrigin","requestedRef","commitSha","subdir","files","skippedFiles"],"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":["plugin:create"]}}},"/api/plugins/github/import":{"post":{"operationId":"importGithubPlugin","tags":["Plugins"],"description":"Import and approve a plugin from an immutable GitHub commit\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:create`](/docs/reference/permissions#plugin:create): Create plugins","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string","minLength":1},"ref":{"nullable":true,"type":"string","minLength":1},"subdir":{"default":"","type":"string"},"exclude":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","minLength":1}},"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string","minLength":1},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"displayName":{"type":"string","minLength":1,"maxLength":120},"description":{"default":"","type":"string","maxLength":1000},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"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"]}},"approvedCommitSha":{"type":"string","pattern":"^[a-f0-9]{40}$"},"trackingRef":{"nullable":true,"type":"string","minLength":1}},"required":["repoUrl","displayName","clientType","approvedCommitSha"]}}}},"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"sourceKind":{"type":"string","enum":["manual","github"]},"sourceRepo":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSha":{"nullable":true,"type":"string"},"sourceSubdir":{"nullable":true,"type":"string"},"sourceExclude":{"type":"array","items":{"type":"string"}},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"sourceMarketplacePath":{"nullable":true,"type":"string"},"sourceMarketplacePluginName":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"sourceOrigin":{"nullable":true,"type":"string"},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"pendingSourceSha":{"nullable":true,"type":"string"},"pendingContentHash":{"nullable":true,"type":"string"},"pendingDetectedAt":{"nullable":true,"type":"string","format":"date-time"},"sourceId":{"nullable":true,"type":"string"},"approvedContentHash":{"nullable":true,"type":"string"},"approvedAt":{"nullable":true,"type":"string","format":"date-time"},"approvedBy":{"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"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},"files":{"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)$"},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]},"digest":{"type":"string"}},"required":["id","pluginId","path","content","encoding","mode","digest"],"additionalProperties":false}}},"required":["id","organizationId","authorId","scope","clientType","supportedPlatforms","pluginSlug","displayName","description","icon","contentHash","sourceKind","sourceRepo","sourceRef","sourceSha","sourceSubdir","sourceExclude","sourceMarketplaceRepo","sourceMarketplacePath","sourceMarketplacePluginName","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","sourceOrigin","gitlabTokenId","lastSyncedAt","lastSyncError","pendingSourceSha","pendingContentHash","pendingDetectedAt","sourceId","approvedContentHash","approvedAt","approvedBy","enabled","createdByServiceAccountId","createdAt","updatedAt","deletedAt","teams","users","labels","createdBy","files"],"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":["plugin:create"]}}},"/api/plugins/{id}/github/preview-update":{"post":{"operationId":"previewGithubPluginUpdate","tags":["Plugins"],"description":"Preview the latest tracked GitHub commit without changing approved bytes\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:update`](/docs/reference/permissions#plugin:update): Modify plugin metadata and files","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string","minLength":1},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}}}}},"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":{"repo":{"type":"string"},"sourceProvider":{"type":"string","enum":["github","gitlab"]},"sourceOrigin":{"nullable":true,"type":"string"},"requestedRef":{"nullable":true,"type":"string"},"commitSha":{"type":"string"},"subdir":{"type":"string"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]}},"required":["path","content","encoding","mode"],"additionalProperties":false}},"skippedFiles":{"type":"array","items":{"type":"string"}}},"required":["repo","sourceProvider","sourceOrigin","requestedRef","commitSha","subdir","files","skippedFiles"],"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":["plugin:update"]}}},"/api/plugins/{id}/github/apply-update":{"post":{"operationId":"applyGithubPluginUpdate","tags":["Plugins"],"description":"Re-fetch and explicitly approve the latest tracked GitHub commit\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:update`](/docs/reference/permissions#plugin:update): Modify plugin metadata and files","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string","minLength":1},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"approvedCommitSha":{"type":"string","pattern":"^[a-f0-9]{40}$"}},"required":["approvedCommitSha"]}}}},"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"sourceKind":{"type":"string","enum":["manual","github"]},"sourceRepo":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSha":{"nullable":true,"type":"string"},"sourceSubdir":{"nullable":true,"type":"string"},"sourceExclude":{"type":"array","items":{"type":"string"}},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"sourceMarketplacePath":{"nullable":true,"type":"string"},"sourceMarketplacePluginName":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"sourceOrigin":{"nullable":true,"type":"string"},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"pendingSourceSha":{"nullable":true,"type":"string"},"pendingContentHash":{"nullable":true,"type":"string"},"pendingDetectedAt":{"nullable":true,"type":"string","format":"date-time"},"sourceId":{"nullable":true,"type":"string"},"approvedContentHash":{"nullable":true,"type":"string"},"approvedAt":{"nullable":true,"type":"string","format":"date-time"},"approvedBy":{"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"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},"files":{"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)$"},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]},"digest":{"type":"string"}},"required":["id","pluginId","path","content","encoding","mode","digest"],"additionalProperties":false}}},"required":["id","organizationId","authorId","scope","clientType","supportedPlatforms","pluginSlug","displayName","description","icon","contentHash","sourceKind","sourceRepo","sourceRef","sourceSha","sourceSubdir","sourceExclude","sourceMarketplaceRepo","sourceMarketplacePath","sourceMarketplacePluginName","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","sourceOrigin","gitlabTokenId","lastSyncedAt","lastSyncError","pendingSourceSha","pendingContentHash","pendingDetectedAt","sourceId","approvedContentHash","approvedAt","approvedBy","enabled","createdByServiceAccountId","createdAt","updatedAt","deletedAt","teams","users","labels","createdBy","files"],"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":["plugin:update"]}}},"/api/plugins/{id}/github/sync":{"patch":{"operationId":"updatePluginGithubSync","tags":["Plugins"],"description":"Change or pause a Plugin Git sync schedule\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:update`](/docs/reference/permissions#plugin:update): Modify plugin metadata and files","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"interval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]}},"required":["interval"]}}}},"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"sourceKind":{"type":"string","enum":["manual","github"]},"sourceRepo":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSha":{"nullable":true,"type":"string"},"sourceSubdir":{"nullable":true,"type":"string"},"sourceExclude":{"type":"array","items":{"type":"string"}},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"sourceMarketplacePath":{"nullable":true,"type":"string"},"sourceMarketplacePluginName":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"sourceOrigin":{"nullable":true,"type":"string"},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"pendingSourceSha":{"nullable":true,"type":"string"},"pendingContentHash":{"nullable":true,"type":"string"},"pendingDetectedAt":{"nullable":true,"type":"string","format":"date-time"},"sourceId":{"nullable":true,"type":"string"},"approvedContentHash":{"nullable":true,"type":"string"},"approvedAt":{"nullable":true,"type":"string","format":"date-time"},"approvedBy":{"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"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},"files":{"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)$"},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]},"digest":{"type":"string"}},"required":["id","pluginId","path","content","encoding","mode","digest"],"additionalProperties":false}}},"required":["id","organizationId","authorId","scope","clientType","supportedPlatforms","pluginSlug","displayName","description","icon","contentHash","sourceKind","sourceRepo","sourceRef","sourceSha","sourceSubdir","sourceExclude","sourceMarketplaceRepo","sourceMarketplacePath","sourceMarketplacePluginName","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","sourceOrigin","gitlabTokenId","lastSyncedAt","lastSyncError","pendingSourceSha","pendingContentHash","pendingDetectedAt","sourceId","approvedContentHash","approvedAt","approvedBy","enabled","createdByServiceAccountId","createdAt","updatedAt","deletedAt","teams","users","labels","createdBy","files"],"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":["plugin:update"]}}},"/api/plugins/{id}/github/check":{"post":{"operationId":"triggerPluginGithubSync","tags":["Plugins"],"description":"Queue an immediate Plugin Git source check\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:update`](/docs/reference/permissions#plugin:update): Modify plugin metadata and files","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":{"queued":{"type":"boolean"}},"required":["queued"],"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":["plugin:update"]}}},"/api/plugins/{id}":{"get":{"operationId":"getPlugin","tags":["Plugins"],"description":"Get one plugin and its opaque files\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:read`](/docs/reference/permissions#plugin:read): View plugins and their file metadata","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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"sourceKind":{"type":"string","enum":["manual","github"]},"sourceRepo":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSha":{"nullable":true,"type":"string"},"sourceSubdir":{"nullable":true,"type":"string"},"sourceExclude":{"type":"array","items":{"type":"string"}},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"sourceMarketplacePath":{"nullable":true,"type":"string"},"sourceMarketplacePluginName":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"sourceOrigin":{"nullable":true,"type":"string"},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"pendingSourceSha":{"nullable":true,"type":"string"},"pendingContentHash":{"nullable":true,"type":"string"},"pendingDetectedAt":{"nullable":true,"type":"string","format":"date-time"},"sourceId":{"nullable":true,"type":"string"},"approvedContentHash":{"nullable":true,"type":"string"},"approvedAt":{"nullable":true,"type":"string","format":"date-time"},"approvedBy":{"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"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},"files":{"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)$"},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]},"digest":{"type":"string"}},"required":["id","pluginId","path","content","encoding","mode","digest"],"additionalProperties":false}}},"required":["id","organizationId","authorId","scope","clientType","supportedPlatforms","pluginSlug","displayName","description","icon","contentHash","sourceKind","sourceRepo","sourceRef","sourceSha","sourceSubdir","sourceExclude","sourceMarketplaceRepo","sourceMarketplacePath","sourceMarketplacePluginName","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","sourceOrigin","gitlabTokenId","lastSyncedAt","lastSyncError","pendingSourceSha","pendingContentHash","pendingDetectedAt","sourceId","approvedContentHash","approvedAt","approvedBy","enabled","createdByServiceAccountId","createdAt","updatedAt","deletedAt","teams","users","labels","createdBy","files"],"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":["plugin:read"]}},"put":{"operationId":"updatePlugin","tags":["Plugins"],"description":"Update plugin metadata, GitHub source settings, or files. Access is edited through the resource permissions API.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:update`](/docs/reference/permissions#plugin:update): Modify plugin metadata and files","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"displayName":{"type":"string","minLength":1,"maxLength":120},"description":{"type":"string","maxLength":1000},"icon":{"description":"Emoji or base64 image data URL shown with the name.","nullable":true,"type":"string"},"enabled":{"type":"boolean"},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"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"]}},"githubSource":{"type":"object","properties":{"repoUrl":{"type":"string","minLength":1,"maxLength":2048},"ref":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"string","nullable":true,"enum":[null]}]},"syncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"authentication":{"type":"object","properties":{"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"gitlabTokenId":{"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":["githubAppConfigId","githubPatId"]}},"required":["repoUrl","ref","syncInterval"]},"files":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":512},"content":{"type":"string","maxLength":1024000},"encoding":{"default":"utf8","type":"string","enum":["utf8","base64"]},"mode":{"default":"100644","type":"string","enum":["100644","100755"]}},"required":["path","content"]}}},"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":"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["posix","windows"]}},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"contentHash":{"type":"string"},"sourceKind":{"type":"string","enum":["manual","github"]},"sourceRepo":{"nullable":true,"type":"string"},"sourceRef":{"nullable":true,"type":"string"},"sourceSha":{"nullable":true,"type":"string"},"sourceSubdir":{"nullable":true,"type":"string"},"sourceExclude":{"type":"array","items":{"type":"string"}},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"sourceMarketplacePath":{"nullable":true,"type":"string"},"sourceMarketplacePluginName":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"sourceOrigin":{"nullable":true,"type":"string"},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"pendingSourceSha":{"nullable":true,"type":"string"},"pendingContentHash":{"nullable":true,"type":"string"},"pendingDetectedAt":{"nullable":true,"type":"string","format":"date-time"},"sourceId":{"nullable":true,"type":"string"},"approvedContentHash":{"nullable":true,"type":"string"},"approvedAt":{"nullable":true,"type":"string","format":"date-time"},"approvedBy":{"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"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},"files":{"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)$"},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"mode":{"type":"string","enum":["100644","100755"]},"digest":{"type":"string"}},"required":["id","pluginId","path","content","encoding","mode","digest"],"additionalProperties":false}}},"required":["id","organizationId","authorId","scope","clientType","supportedPlatforms","pluginSlug","displayName","description","icon","contentHash","sourceKind","sourceRepo","sourceRef","sourceSha","sourceSubdir","sourceExclude","sourceMarketplaceRepo","sourceMarketplacePath","sourceMarketplacePluginName","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","sourceOrigin","gitlabTokenId","lastSyncedAt","lastSyncError","pendingSourceSha","pendingContentHash","pendingDetectedAt","sourceId","approvedContentHash","approvedAt","approvedBy","enabled","createdByServiceAccountId","createdAt","updatedAt","deletedAt","teams","users","labels","createdBy","files"],"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":["plugin:update"]}},"delete":{"operationId":"deletePlugin","tags":["Plugins"],"description":"Delete a plugin\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:delete`](/docs/reference/permissions#plugin:delete): Delete plugins","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":["plugin:delete"]}}},"/api/skills/plugins":{"get":{"operationId":"getPluginSkills","tags":["Skills"],"description":"List the portable Skills embedded in the plugins visible to the caller.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:read`](/docs/reference/permissions#plugin:read): View plugins and their file metadata\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["plugin"]},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pluginName":{"type":"string"},"pluginSlug":{"type":"string"},"sourceRepo":{"nullable":true,"type":"string"},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"pluginEnabled":{"type":"boolean"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"type":"array","items":{"type":"string","enum":["posix","windows"]}},"skillPath":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"compatibility":{"nullable":true,"type":"string"},"fileCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"usageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"usageUserCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["source","pluginId","pluginName","pluginSlug","sourceRepo","sourceMarketplaceRepo","pluginEnabled","scope","clientType","supportedPlatforms","skillPath","name","description","compatibility","fileCount","usageCount","usageUserCount","lastUsedAt"],"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":["plugin:read","skill:read"]}}},"/api/skills/plugins/{pluginId}/usage-statistics":{"get":{"operationId":"getPluginSkillUsageStatistics","tags":["Skills"],"description":"Get recent activation statistics for one Skill from an accessible plugin.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:read`](/docs/reference/permissions#plugin:read): View plugins and their file metadata\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","parameters":[{"schema":{"type":"string","maxLength":500},"in":"query","name":"skillPath","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"pluginId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"since":{"type":"string"},"users":{"type":"array","items":{"type":"object","properties":{"userId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["user","service_account","unattributed"]},"total":{"type":"number"}},"required":["userId","name","kind","total"],"additionalProperties":false}},"daily":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"userId":{"nullable":true,"type":"string"},"count":{"type":"number"}},"required":["date","userId","count"],"additionalProperties":false}}},"required":["since","users","daily"],"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":["plugin:read","skill:read"]}}},"/api/skills/plugins/{pluginId}":{"get":{"operationId":"getPluginSkill","tags":["Skills"],"description":"Read one Skill embedded in a plugin, with its bundled resource files.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`plugin:read`](/docs/reference/permissions#plugin:read): View plugins and their file metadata\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","parameters":[{"schema":{"type":"string","maxLength":500},"in":"query","name":"skillPath","required":false,"description":"Parent directory of the SKILL.md inside the plugin; omit for a root-level skill."},{"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":"pluginId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"source":{"type":"string","enum":["plugin"]},"pluginId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"pluginName":{"type":"string"},"pluginSlug":{"type":"string"},"sourceRepo":{"nullable":true,"type":"string"},"sourceMarketplaceRepo":{"nullable":true,"type":"string"},"pluginEnabled":{"type":"boolean"},"scope":{"type":"string","enum":["personal","team","org"]},"clientType":{"type":"string","enum":["claude-code","claude-desktop","copilot-cli","codex","cursor"]},"supportedPlatforms":{"type":"array","items":{"type":"string","enum":["posix","windows"]}},"skillPath":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"compatibility":{"nullable":true,"type":"string"},"fileCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"usageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"usageUserCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"manifest":{"type":"string"},"content":{"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"kind":{"type":"string","enum":["script","reference","asset"]}},"required":["path","content","encoding","kind"],"additionalProperties":false}}},"required":["source","pluginId","pluginName","pluginSlug","sourceRepo","sourceMarketplaceRepo","pluginEnabled","scope","clientType","supportedPlatforms","skillPath","name","description","compatibility","fileCount","usageCount","usageUserCount","lastUsedAt","manifest","content","allowedTools","files"],"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":["plugin:read","skill:read"]}}},"/api/schedule-triggers":{"get":{"operationId":"getScheduleTriggers","tags":["Schedule Triggers"],"description":"List scheduled agent triggers\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":"boolean"},"in":"query","name":"enabled","required":false},{"schema":{"type":"string"},"in":"query","name":"name","required":false},{"schema":{"type":"string"},"in":"query","name":"actorUserIds","required":false},{"schema":{"type":"string"},"in":"query","name":"agentIds","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"projectId","required":false},{"schema":{"type":"boolean"},"in":"query","name":"showAll","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"},"name":{"type":"string"},"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)$"},"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)$"},"messageTemplate":{"type":"string"},"cronExpression":{"type":"string"},"timezone":{"type":"string"},"enabled":{"type":"boolean"},"actorUserId":{"type":"string"},"lastExecutedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"actor":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"agentType":{"nullable":true,"type":"string"}},"required":["id","name","agentType"],"additionalProperties":false}},"required":["id","organizationId","name","agentId","projectId","messageTemplate","cronExpression","timezone","enabled","actorUserId","lastExecutedAt","createdAt"],"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"]}},"post":{"operationId":"createScheduleTrigger","tags":["Schedule Triggers"],"description":"Create a scheduled agent trigger\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},"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)$"},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":{"default":true,"type":"boolean"},"cronExpression":{"type":"string","minLength":1},"timezone":{"type":"string","minLength":1},"messageTemplate":{"type":"string","minLength":1}},"required":["name","projectId","cronExpression","timezone","messageTemplate"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"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)$"},"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)$"},"messageTemplate":{"type":"string"},"cronExpression":{"type":"string"},"timezone":{"type":"string"},"enabled":{"type":"boolean"},"actorUserId":{"type":"string"},"lastExecutedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"actor":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"agentType":{"nullable":true,"type":"string"}},"required":["id","name","agentType"],"additionalProperties":false}},"required":["id","organizationId","name","agentId","projectId","messageTemplate","cronExpression","timezone","enabled","actorUserId","lastExecutedAt","createdAt"],"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/schedule-triggers/{id}":{"get":{"operationId":"getScheduleTrigger","tags":["Schedule Triggers"],"description":"Get a scheduled agent trigger\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)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"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)$"},"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)$"},"messageTemplate":{"type":"string"},"cronExpression":{"type":"string"},"timezone":{"type":"string"},"enabled":{"type":"boolean"},"actorUserId":{"type":"string"},"lastExecutedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"actor":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"agentType":{"nullable":true,"type":"string"}},"required":["id","name","agentType"],"additionalProperties":false}},"required":["id","organizationId","name","agentId","projectId","messageTemplate","cronExpression","timezone","enabled","actorUserId","lastExecutedAt","createdAt"],"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":"updateScheduleTrigger","tags":["Schedule Triggers"],"description":"Update a scheduled agent trigger\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},"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)$"},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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"},"cronExpression":{"type":"string","minLength":1},"timezone":{"type":"string","minLength":1},"messageTemplate":{"type":"string","minLength":1}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"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)$"},"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)$"},"messageTemplate":{"type":"string"},"cronExpression":{"type":"string"},"timezone":{"type":"string"},"enabled":{"type":"boolean"},"actorUserId":{"type":"string"},"lastExecutedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"actor":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"agentType":{"nullable":true,"type":"string"}},"required":["id","name","agentType"],"additionalProperties":false}},"required":["id","organizationId","name","agentId","projectId","messageTemplate","cronExpression","timezone","enabled","actorUserId","lastExecutedAt","createdAt"],"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":"deleteScheduleTrigger","tags":["Schedule Triggers"],"description":"Delete a scheduled agent trigger\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":{"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":["project:delete"]}}},"/api/schedule-triggers/{id}/enable":{"post":{"operationId":"enableScheduleTrigger","tags":["Schedule Triggers"],"description":"Enable a scheduled agent trigger\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","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"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)$"},"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)$"},"messageTemplate":{"type":"string"},"cronExpression":{"type":"string"},"timezone":{"type":"string"},"enabled":{"type":"boolean"},"actorUserId":{"type":"string"},"lastExecutedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"actor":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"agentType":{"nullable":true,"type":"string"}},"required":["id","name","agentType"],"additionalProperties":false}},"required":["id","organizationId","name","agentId","projectId","messageTemplate","cronExpression","timezone","enabled","actorUserId","lastExecutedAt","createdAt"],"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/schedule-triggers/{id}/disable":{"post":{"operationId":"disableScheduleTrigger","tags":["Schedule Triggers"],"description":"Disable a scheduled agent trigger\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","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"name":{"type":"string"},"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)$"},"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)$"},"messageTemplate":{"type":"string"},"cronExpression":{"type":"string"},"timezone":{"type":"string"},"enabled":{"type":"boolean"},"actorUserId":{"type":"string"},"lastExecutedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"actor":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"agent":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"agentType":{"nullable":true,"type":"string"}},"required":["id","name","agentType"],"additionalProperties":false}},"required":["id","organizationId","name","agentId","projectId","messageTemplate","cronExpression","timezone","enabled","actorUserId","lastExecutedAt","createdAt"],"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/schedule-triggers/{id}/run-now":{"post":{"operationId":"runScheduleTriggerNow","tags":["Schedule Triggers"],"description":"Run a scheduled agent trigger immediately\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","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"},"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)$"},"runKind":{"type":"string","enum":["due","manual"]},"status":{"type":"string","enum":["running","success","failed","cancelled"]},"initiatedByUserId":{"nullable":true,"type":"string"},"chatConversationId":{"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)$"},"runtimeTaskId":{"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":{"nullable":true,"type":"string","format":"date-time"},"completedAt":{"nullable":true,"type":"string","format":"date-time"},"error":{"nullable":true,"type":"string"},"blockedBy":{"nullable":true,"type":"object","properties":{"phase":{"type":"string","enum":["starting","running","stopping"]},"runId":{"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)$"},"runtimeTaskId":{"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","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))$"},"elapsedSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"deadline":{"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))$"},"maximumDurationSeconds":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["phase","runId","runtimeTaskId","startedAt","elapsedSeconds","deadline","maximumDurationSeconds"],"additionalProperties":false},"artifact":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","triggerId","runKind","status","initiatedByUserId","chatConversationId","runtimeTaskId","startedAt","completedAt","error","blockedBy","artifact","createdAt"],"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/schedule-triggers/{id}/runs":{"get":{"operationId":"getScheduleTriggerRuns","tags":["Schedule Triggers"],"description":"List runs for a scheduled agent trigger\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":["running","success","failed","cancelled"]},"in":"query","name":"status","required":false},{"schema":{"type":"string","enum":["due","manual"]},"in":"query","name":"runKind","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"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"},"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)$"},"runKind":{"type":"string","enum":["due","manual"]},"status":{"type":"string","enum":["running","success","failed","cancelled"]},"initiatedByUserId":{"nullable":true,"type":"string"},"chatConversationId":{"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)$"},"runtimeTaskId":{"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":{"nullable":true,"type":"string","format":"date-time"},"completedAt":{"nullable":true,"type":"string","format":"date-time"},"error":{"nullable":true,"type":"string"},"blockedBy":{"nullable":true,"type":"object","properties":{"phase":{"type":"string","enum":["starting","running","stopping"]},"runId":{"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)$"},"runtimeTaskId":{"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","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))$"},"elapsedSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"deadline":{"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))$"},"maximumDurationSeconds":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["phase","runId","runtimeTaskId","startedAt","elapsedSeconds","deadline","maximumDurationSeconds"],"additionalProperties":false},"artifact":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","triggerId","runKind","status","initiatedByUserId","chatConversationId","runtimeTaskId","startedAt","completedAt","error","blockedBy","artifact","createdAt"],"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/schedule-triggers/{id}/runs/{runId}":{"get":{"operationId":"getScheduleTriggerRun","tags":["Schedule Triggers"],"description":"Get a single run for a scheduled agent trigger\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},{"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":"runId","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"},"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)$"},"runKind":{"type":"string","enum":["due","manual"]},"status":{"type":"string","enum":["running","success","failed","cancelled"]},"initiatedByUserId":{"nullable":true,"type":"string"},"chatConversationId":{"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)$"},"runtimeTaskId":{"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":{"nullable":true,"type":"string","format":"date-time"},"completedAt":{"nullable":true,"type":"string","format":"date-time"},"error":{"nullable":true,"type":"string"},"blockedBy":{"nullable":true,"type":"object","properties":{"phase":{"type":"string","enum":["starting","running","stopping"]},"runId":{"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)$"},"runtimeTaskId":{"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","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))$"},"elapsedSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"deadline":{"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))$"},"maximumDurationSeconds":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"required":["phase","runId","runtimeTaskId","startedAt","elapsedSeconds","deadline","maximumDurationSeconds"],"additionalProperties":false},"artifact":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","triggerId","runKind","status","initiatedByUserId","chatConversationId","runtimeTaskId","startedAt","completedAt","error","blockedBy","artifact","createdAt"],"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/schedule-triggers/{id}/runs/{runId}/conversation":{"post":{"operationId":"createScheduleTriggerRunConversation","tags":["Schedule Triggers"],"description":"Create or return the chat conversation linked to a schedule run\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","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":"runId","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":["project:create"]}}},"/api/skill-marketplace":{"get":{"operationId":"getSkillMarketplace","tags":["Skills"],"description":"The static skill marketplace: one clone URL for the whole deployment, which every user installs with their own credential.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"cloneUrl":{"type":"string"},"marketplaceName":{"type":"string"},"requiresAuthentication":{"type":"boolean"}},"required":["cloneUrl","marketplaceName","requiresAuthentication"],"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":["skill:read"]}}},"/api/skills/labels/keys":{"get":{"operationId":"skillLabelKeys","tags":["Skills"],"description":"Get all label keys used by skills\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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":["skill:read"]}}},"/api/skills/labels/values":{"get":{"operationId":"skillLabelValues","tags":["Skills"],"description":"Get all label values used by skills\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","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":["skill:read"]}}},"/api/skills":{"get":{"operationId":"getSkills","tags":["Skills"],"description":"List all agent skills for the organization\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"boolean"},"in":"query","name":"includeContent","required":false,"description":"Include manifest bodies (default true). False returns empty content for lightweight lists."},{"schema":{"type":"string"},"in":"query","name":"search","required":false},{"schema":{"type":"string"},"in":"query","name":"sourceRepo","required":false},{"schema":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"in":"query","name":"skillIds","required":false,"description":"Restrict results to these skill IDs (comma-separated)."},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"forAgentId","required":false,"description":"Restrict results to native skills available through this internal agent or eligible for publication by this saved MCP gateway."},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"string","enum":["default"]}]},"in":"query","name":"mcpGatewayEnvironment","required":false,"description":"Preview skills eligible for MCP Gateway All mode using this form environment. Use `default` for the Default environment."},{"schema":{"default":"effective","type":"string","enum":["effective","eligible"]},"in":"query","name":"agentSkillView","required":false,"description":"Effective applies the saved skill policy. Eligible previews the skills that All mode can include before its exclusions."},{"schema":{"type":"string","enum":["personal","team","org"]},"in":"query","name":"scope","required":false,"description":"Filter by visibility scope: personal, team, or org."},{"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":"Author user IDs (comma-separated). Admin-only; used with scope=personal."},{"schema":{"type":"array","items":{"type":"string"}},"in":"query","name":"excludeAuthorIds","required":false,"description":"Exclude author user IDs (comma-separated). Admin-only; used with scope=personal."},{"schema":{"type":"boolean"},"in":"query","name":"excludeOtherPersonalSkills","required":false,"description":"Hide personal skills owned by other users. Admin-only; no-op for non-admins."},{"schema":{"default":"active","type":"string","enum":["active","deleted"]},"in":"query","name":"status","required":false,"description":"Which skills to list: active (default) or the soft-deleted trash. `deleted` is restricted to callers who manage every skill."},{"schema":{"type":"string"},"in":"query","name":"labels","required":false,"description":"Filter by labels. Format: key1:val1|val2;key2:val3. AND across keys, OR within values."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","enum":["mine","shared","org","others"]}},"in":"query","name":"access","required":false,"description":"Keep only objects the caller reaches in one of these ways (comma-separated): mine (authored by the caller), shared (shared with the caller or one of their teams), org (shared with the organization), others (visible only through organization-wide authority). Omit for every readable object."},{"schema":{"minItems":1,"type":"array","items":{"type":"string"}},"in":"query","name":"sharedWith","required":false,"description":"Keep only objects whose own permissions grant read to one of these subjects (comma-separated): org (the whole organization), role:<roleId>, team:<teamId>, user:<userId>, serviceAccount:<serviceAccountId>. Grants inherited from organization-wide permissions do not count. Omit for no filtering."},{"schema":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"owner","required":false,"description":"Keep only objects authored by one of these user IDs (comma-separated). Narrows the rows the caller can already read. Omit for no filtering."},{"schema":{"type":"string","enum":["usageCount","lastUsedAt","name","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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"content":{"type":"string"},"digest":{"nullable":true,"type":"string"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"sourceType":{"type":"string","enum":["manual","github","built_in"]},"sourceRef":{"nullable":true,"type":"string"},"sourceOrigin":{"nullable":true,"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"usageCount":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"canPublish":{"type":"boolean"},"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},"fileCount":{"type":"number"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"usageUserCount":{"type":"number"},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}}},"required":["id","organizationId","authorId","scope","name","description","icon","content","digest","latestVersion","license","compatibility","allowedTools","agentName","templated","metadata","sourceType","sourceRef","sourceOrigin","sourceCommit","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","gitlabTokenId","lastSyncedAt","lastSyncError","usageCount","lastUsedAt","createdByServiceAccountId","createdAt","updatedAt","deletedAt","createdBy","fileCount","teams","users","environments","authorName","usageUserCount","labels"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"currentPage":{"type":"integer","minimum":1,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"hasNext":{"type":"boolean"},"hasPrev":{"type":"boolean"}},"required":["currentPage","limit","total","totalPages","hasNext","hasPrev"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"createSkill","tags":["Skills"],"description":"Create a skill from a raw SKILL.md and resource files\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:create`](/docs/reference/permissions#skill:create): Create new agent skills","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":10485760,"description":"A complete SKILL.md manifest: a YAML frontmatter block with `name` and `description` (and optional `license`, `compatibility`, `allowed-tools`, `agent`, `templated`, `metadata`), followed by the Markdown instruction body. Set `templated: true` to render the body through Handlebars (e.g. `{{user.name}}`) at activation. `allowed-tools` is a space-separated list of tools the skill is pre-approved to use. `agent` names an agent the skill runs in — when set, activating the skill delegates it to that agent instead of loading the instructions into the caller's context."},"icon":{"description":"Emoji or base64 image data URL shown with the name. Omit to leave it untouched; null clears it.","nullable":true,"type":"string"},"files":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Resource path, e.g. references/API.md or scripts/run.py"},"content":{"type":"string","maxLength":13981016,"description":"Text content of the file"},"encoding":{"type":"string","enum":["utf8","base64"]}},"required":["path","content"]}},"environmentIds":{"description":"Environments the skill is restricted to. Empty (or omitted on create) makes the skill available to agents in every environment; otherwise only agents in one of the listed environments see it.","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)$"}},"allowedTools":{"description":"Tools the skill expects, overriding the SKILL.md `allowed-tools` frontmatter. Omit to use the frontmatter; pass [] to clear.","type":"array","items":{"type":"string"}},"labels":{"description":"Key/value labels. Omit to leave existing labels untouched; pass [] to clear them.","type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"]}},"initialGrants":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"subject":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["serviceAccount"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["role"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"id":{"type":"string","enum":["*"]}},"required":["type","id"]}]},"actions":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["read","use","update","delete","manage-permissions","configure-deployment-spec"]}}},"required":["subject","actions"]}}},"required":["content"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"content":{"type":"string"},"digest":{"nullable":true,"type":"string"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"sourceType":{"type":"string","enum":["manual","github","built_in"]},"sourceRef":{"nullable":true,"type":"string"},"sourceOrigin":{"nullable":true,"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"usageCount":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"files":{"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)$"},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"digest":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["reference","script","asset"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","skillId","path","content","encoding","digest","kind","createdAt"],"additionalProperties":false}},"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},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"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}}},"required":["id","organizationId","authorId","scope","name","description","icon","content","digest","latestVersion","license","compatibility","allowedTools","agentName","templated","metadata","sourceType","sourceRef","sourceOrigin","sourceCommit","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","gitlabTokenId","lastSyncedAt","lastSyncError","usageCount","lastUsedAt","createdByServiceAccountId","createdAt","updatedAt","deletedAt","files","createdBy","teams","users","environments","labels"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["skill:create"]}}},"/api/skills/{id}":{"get":{"operationId":"getSkill","tags":["Skills"],"description":"Get a skill with its resource files\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"content":{"type":"string"},"digest":{"nullable":true,"type":"string"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"sourceType":{"type":"string","enum":["manual","github","built_in"]},"sourceRef":{"nullable":true,"type":"string"},"sourceOrigin":{"nullable":true,"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"usageCount":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"files":{"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)$"},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"digest":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["reference","script","asset"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","skillId","path","content","encoding","digest","kind","createdAt"],"additionalProperties":false}},"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},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"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}}},"required":["id","organizationId","authorId","scope","name","description","icon","content","digest","latestVersion","license","compatibility","allowedTools","agentName","templated","metadata","sourceType","sourceRef","sourceOrigin","sourceCommit","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","gitlabTokenId","lastSyncedAt","lastSyncError","usageCount","lastUsedAt","createdByServiceAccountId","createdAt","updatedAt","deletedAt","files","createdBy","teams","users","environments","labels"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"put":{"operationId":"updateSkill","tags":["Skills"],"description":"Update a skill's SKILL.md, resource files, and scope\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":{"content":{"type":"string","minLength":1,"maxLength":10485760,"description":"A complete SKILL.md manifest: a YAML frontmatter block with `name` and `description` (and optional `license`, `compatibility`, `allowed-tools`, `agent`, `templated`, `metadata`), followed by the Markdown instruction body. Set `templated: true` to render the body through Handlebars (e.g. `{{user.name}}`) at activation. `allowed-tools` is a space-separated list of tools the skill is pre-approved to use. `agent` names an agent the skill runs in — when set, activating the skill delegates it to that agent instead of loading the instructions into the caller's context."},"icon":{"description":"Emoji or base64 image data URL shown with the name. Omit to leave it untouched; null clears it.","nullable":true,"type":"string"},"files":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Resource path, e.g. references/API.md or scripts/run.py"},"content":{"type":"string","maxLength":13981016,"description":"Text content of the file"},"encoding":{"type":"string","enum":["utf8","base64"]}},"required":["path","content"]}},"environmentIds":{"description":"Environments the skill is restricted to. Empty (or omitted on create) makes the skill available to agents in every environment; otherwise only agents in one of the listed environments see it.","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)$"}},"allowedTools":{"description":"Tools the skill expects, overriding the SKILL.md `allowed-tools` frontmatter. Omit to use the frontmatter; pass [] to clear.","type":"array","items":{"type":"string"}},"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"]}},"baseVersion":{"description":"The skill's `latestVersion` when this edit was composed. Rejected with 409 if the skill has moved past it. Omit only when the payload owes nothing to a prior read of the skill.","type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991}},"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":{"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"content":{"type":"string"},"digest":{"nullable":true,"type":"string"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"sourceType":{"type":"string","enum":["manual","github","built_in"]},"sourceRef":{"nullable":true,"type":"string"},"sourceOrigin":{"nullable":true,"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"usageCount":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"files":{"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)$"},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"digest":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["reference","script","asset"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","skillId","path","content","encoding","digest","kind","createdAt"],"additionalProperties":false}},"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},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"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}}},"required":["id","organizationId","authorId","scope","name","description","icon","content","digest","latestVersion","license","compatibility","allowedTools","agentName","templated","metadata","sourceType","sourceRef","sourceOrigin","sourceCommit","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","gitlabTokenId","lastSyncedAt","lastSyncError","usageCount","lastUsedAt","createdByServiceAccountId","createdAt","updatedAt","deletedAt","files","createdBy","teams","users","environments","labels"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"delete":{"operationId":"deleteSkill","tags":["Skills"],"description":"Delete a skill and its resource files\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/skills/{id}/usage-statistics":{"get":{"operationId":"getSkillUsageStatistics","tags":["Skills"],"description":"Per-user activation counts for a skill over the last 30 days\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"since":{"type":"string"},"users":{"type":"array","items":{"type":"object","properties":{"userId":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["user","service_account","unattributed"]},"total":{"type":"number"}},"required":["userId","name","kind","total"],"additionalProperties":false}},"daily":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"userId":{"nullable":true,"type":"string"},"count":{"type":"number"}},"required":["date","userId","count"],"additionalProperties":false}}},"required":["since","users","daily"],"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/skills/{id}/versions":{"get":{"operationId":"getSkillVersions","tags":["Skills"],"description":"List a skill's version history, newest first, as metadata only (no SKILL.md body). Version numbers are contiguous from 1. Paginated.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"in":"query","name":"offset","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":{"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)$"},"skillId":{"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)$"},"version":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"contentHash":{"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","skillId","version","contentHash","sourceCommit","createdAt"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"currentPage":{"type":"integer","minimum":1,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPages":{"type":"integer","minimum":0,"maximum":9007199254740991},"hasNext":{"type":"boolean"},"hasPrev":{"type":"boolean"}},"required":["currentPage","limit","total","totalPages","hasNext","hasPrev"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/skills/{id}/versions/{version}":{"get":{"operationId":"getSkillVersion","tags":["Skills"],"description":"Get one immutable skill version: the SKILL.md body it captured plus its resource-file snapshots.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":2147483647},"in":"path","name":"version","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)$"},"skillId":{"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)$"},"version":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"content":{"type":"string"},"contentHash":{"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time"},"files":{"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)$"},"versionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"kind":{"type":"string","enum":["reference","script","asset"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","versionId","path","content","encoding","kind","createdAt"],"additionalProperties":false}}},"required":["id","skillId","version","content","contentHash","sourceCommit","createdAt","files"],"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/skills/names":{"get":{"operationId":"getSkillNames","tags":["Skills"],"description":"List the ids and names of the skills the caller can read, in the default list order, with their total. A lightweight alternative to paging the full list for pickers and setups that name or send every visible skill.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","parameters":[{"schema":{"default":1111,"type":"integer","minimum":1,"maximum":1111},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["data","total"],"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":["skill:read"]}}},"/api/skills/source-repos":{"get":{"operationId":"getSkillSourceRepos","tags":["Skills"],"description":"List distinct GitHub and GitLab repositories that skills in this organization were imported from\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"repos":{"type":"array","items":{"type":"string"}}},"required":["repos"],"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":["skill:read"]}}},"/api/skills/bulk-delete":{"post":{"operationId":"bulkDeleteSkills","tags":["Skills"],"description":"Soft-delete several skills in one request. Each id is authorized exactly as the single-skill delete authorizes its own: an id the caller cannot see or modify is reported in `failed` and the rest of the batch still applies. Deleted skills keep their versions and resource files and can be restored from the trash.\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":{"skillIds":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"description":"Skills to act on. Duplicates are collapsed."}},"required":["skillIds"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"succeeded":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"failed":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"nullable":true,"type":"string"},"error":{"type":"string"}},"required":["id","name","error"],"additionalProperties":false}}},"required":["succeeded","failed"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/skills/{id}/restore":{"post":{"operationId":"restoreSkill","tags":["Skills"],"description":"Restore a soft-deleted skill\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"content":{"type":"string"},"digest":{"nullable":true,"type":"string"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"sourceType":{"type":"string","enum":["manual","github","built_in"]},"sourceRef":{"nullable":true,"type":"string"},"sourceOrigin":{"nullable":true,"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"usageCount":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"files":{"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)$"},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"digest":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["reference","script","asset"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","skillId","path","content","encoding","digest","kind","createdAt"],"additionalProperties":false}},"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},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"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}}},"required":["id","organizationId","authorId","scope","name","description","icon","content","digest","latestVersion","license","compatibility","allowedTools","agentName","templated","metadata","sourceType","sourceRef","sourceOrigin","sourceCommit","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","gitlabTokenId","lastSyncedAt","lastSyncError","usageCount","lastUsedAt","createdByServiceAccountId","createdAt","updatedAt","deletedAt","files","createdBy","teams","users","environments","labels"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/skills/{id}/permanent":{"delete":{"operationId":"permanentlyDeleteSkill","tags":["Skills"],"description":"Permanently destroy a soft-deleted skill (global admins only). Irreversible, with no grace period: every version and resource file is destroyed, along with the skill's team and user grants, environment assignments, usage events, and share links — so any public share URL for it stops working. 404 if there is no soft-deleted skill with that id in the org, which is also the answer when the skill is still live or the caller is not a global admin. 409 while a sandbox still has the skill mounted; that is retryable, but note nothing clears a mount on its own — it lasts as long as the sandbox does. Built-in skills cannot be purged: their soft-deleted row is what stops the seeder recreating them on the next restart. Restore wins a race.\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: [`skill:delete`](/docs/reference/permissions#skill:delete) and even `skill:admin` 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 skill 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":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"dynamic","note":"Restricted to the built-in Admin and Platform Admin roles. No permission grants it: `skill:delete` and even `skill:admin` 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 skill exists.","permissions":[]}}},"/api/skills/{id}/reset":{"post":{"operationId":"resetSkill","tags":["Skills"],"description":"Reset a built-in skill to its shipped default SKILL.md and resource files. Only applies to skills with sourceType `built_in`.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"content":{"type":"string"},"digest":{"nullable":true,"type":"string"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"sourceType":{"type":"string","enum":["manual","github","built_in"]},"sourceRef":{"nullable":true,"type":"string"},"sourceOrigin":{"nullable":true,"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"usageCount":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"files":{"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)$"},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"digest":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["reference","script","asset"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","skillId","path","content","encoding","digest","kind","createdAt"],"additionalProperties":false}},"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},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"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}}},"required":["id","organizationId","authorId","scope","name","description","icon","content","digest","latestVersion","license","compatibility","allowedTools","agentName","templated","metadata","sourceType","sourceRef","sourceOrigin","sourceCommit","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","gitlabTokenId","lastSyncedAt","lastSyncError","usageCount","lastUsedAt","createdByServiceAccountId","createdAt","updatedAt","deletedAt","files","createdBy","teams","users","environments","labels"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/skills/{id}/github-sync":{"patch":{"operationId":"updateSkillGithubSync","tags":["Skills"],"description":"Manage a Git-synced skill: change its pull frequency or its source (repository, branch, folder, credential), trigger an immediate pull, or disconnect it from the Git source (interval null) — a disconnected skill keeps its content and provenance and becomes editable in the app. Providing a full source reconnects a previously imported skill after verifying the repository.\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":{"interval":{"description":"New pull frequency.","type":"string","enum":["15m","1h","1d"]},"source":{"description":"Pull the skill from another repository, branch, folder, or credential. It is fetched before anything changes, so a location without the skill is refused.","type":"object","properties":{"repoUrl":{"type":"string","minLength":1},"path":{"type":"string"},"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string"},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"skillPath":{"type":"string","description":"The skill's folder from the repository root; empty when the skill is the repository."}},"required":["repoUrl","skillPath"],"additionalProperties":false},"syncNow":{"description":"Trigger an immediate pull from the source repo.","type":"boolean","enum":[true]},"disconnect":{"description":"Disconnect the skill from its GitHub source: it keeps its content and becomes editable in the app.","type":"boolean","enum":[true]}}}}}},"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"content":{"type":"string"},"digest":{"nullable":true,"type":"string"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"sourceType":{"type":"string","enum":["manual","github","built_in"]},"sourceRef":{"nullable":true,"type":"string"},"sourceOrigin":{"nullable":true,"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"usageCount":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"files":{"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)$"},"skillId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"digest":{"nullable":true,"type":"string"},"kind":{"type":"string","enum":["reference","script","asset"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","skillId","path","content","encoding","digest","kind","createdAt"],"additionalProperties":false}},"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},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"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}}},"required":["id","organizationId","authorId","scope","name","description","icon","content","digest","latestVersion","license","compatibility","allowedTools","agentName","templated","metadata","sourceType","sourceRef","sourceOrigin","sourceCommit","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","gitlabTokenId","lastSyncedAt","lastSyncError","usageCount","lastUsedAt","createdByServiceAccountId","createdAt","updatedAt","deletedAt","files","createdBy","teams","users","environments","labels"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}},"/api/skills/enable-defaults":{"post":{"operationId":"enableSkillToolDefaults","tags":["Skills"],"description":"Enable the Agent Skill tools (`list_skills`, `load_skill`) for this organization. Sets the org-level flag and backfills the tools onto every existing agent. Idempotent.\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":{"enabled":{"type":"boolean","enum":[true]},"agentsBackfilled":{"type":"number"}},"required":["enabled","agentsBackfilled"],"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/skills/catalog/search":{"get":{"operationId":"searchSkillCatalog","tags":["Skills"],"description":"Search the crawled public-GitHub skill catalog by name, repo, path, or description. Backed by an in-memory token index; returns ranked candidates to import via the GitHub import endpoints.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","parameters":[{"schema":{"default":"","type":"string"},"in":"query","name":"q","required":false},{"schema":{"default":50,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"repo":{"type":"string"},"skillPath":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"compatibility":{"nullable":true,"type":"string"},"fileCount":{"type":"number"}},"required":["repo","skillPath","name","description","compatibility","fileCount"],"additionalProperties":false}},"totalCount":{"type":"number"}},"required":["results","totalCount"],"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":["skill:read"]}}},"/api/skills/github/discover":{"post":{"operationId":"discoverGithubSkills","tags":["Skills"],"description":"Discover skills in a GitHub or GitLab repository\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string","minLength":1},"path":{"type":"string"},"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string"},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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":["repoUrl"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string"},"ref":{"type":"string"},"skills":{"type":"array","items":{"type":"object","properties":{"skillPath":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"fileCount":{"type":"number"},"exists":{"type":"boolean"}},"required":["skillPath","name","description","compatibility","allowedTools","templated","fileCount","exists"],"additionalProperties":false}}},"required":["repoUrl","ref","skills"],"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":["skill:read"]}}},"/api/skills/github/preview":{"post":{"operationId":"previewGithubSkill","tags":["Skills"],"description":"Fetch a single skill's manifest and files from GitHub or GitLab without persisting it.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:read`](/docs/reference/permissions#skill:read): Open Skills","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string","minLength":1},"path":{"type":"string"},"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string"},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"skillPath":{"type":"string"}},"required":["repoUrl","skillPath"]}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"content":{"type":"string"},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"},"encoding":{"type":"string","enum":["utf8","base64"]},"kind":{"type":"string","enum":["reference","script","asset"]}},"required":["path","content","encoding","kind"],"additionalProperties":false}},"skippedFiles":{"type":"array","items":{"type":"string"},"description":"Resource paths not imported: oversized, beyond the per-skill file cap, or unfetchable"},"sourceRef":{"type":"string"},"sourceCommit":{"type":"string"}},"required":["name","description","content","license","compatibility","allowedTools","agentName","templated","metadata","files","skippedFiles","sourceRef","sourceCommit"],"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":["skill:read"]}}},"/api/skills/github/import":{"post":{"operationId":"importGithubSkills","tags":["Skills"],"description":"Import selected skills from a GitHub or GitLab repository\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`skill:create`](/docs/reference/permissions#skill:create): Create new agent skills","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repoUrl":{"type":"string","minLength":1},"path":{"type":"string"},"provider":{"description":"Git host of a public repository; defaults to github. Ignored when a credential is given.","type":"string","enum":["github","gitlab"]},"githubToken":{"type":"string"},"githubAppConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"githubPatId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"gitlabTokenId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"skillPaths":{"minItems":1,"type":"array","items":{"type":"string"}},"initialGrants":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"subject":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["team"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["serviceAccount"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["role"]},"id":{"type":"string","minLength":1}},"required":["type","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["organization"]},"id":{"type":"string","enum":["*"]}},"required":["type","id"]}]},"actions":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["read","use","update","delete","manage-permissions","configure-deployment-spec"]}}},"required":["subject","actions"]}},"sync":{"default":{"interval":"1d"},"description":"Pull schedule for the imported skills. Every import is synced from the repo and read-only in the app until disconnected. Defaults to daily.","type":"object","properties":{"interval":{"type":"string","enum":["15m","1h","1d"]}},"required":["interval"]}},"required":["repoUrl","skillPaths"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"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"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"description":{"type":"string"},"icon":{"nullable":true,"type":"string"},"content":{"type":"string"},"digest":{"nullable":true,"type":"string"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"license":{"nullable":true,"type":"string"},"compatibility":{"nullable":true,"type":"string"},"allowedTools":{"nullable":true,"type":"string"},"agentName":{"nullable":true,"type":"string"},"templated":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"sourceType":{"type":"string","enum":["manual","github","built_in"]},"sourceRef":{"nullable":true,"type":"string"},"sourceOrigin":{"nullable":true,"type":"string"},"sourceCommit":{"nullable":true,"type":"string"},"githubSyncInterval":{"anyOf":[{"type":"string","enum":["15m","1h","1d"]},{"type":"string","nullable":true,"enum":[null]}]},"githubSyncRef":{"nullable":true,"type":"string"},"githubAppConfigId":{"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)$"},"githubPatId":{"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)$"},"sourceProvider":{"anyOf":[{"type":"string","enum":["github","gitlab"]},{"type":"string","nullable":true,"enum":[null]}]},"gitlabTokenId":{"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)$"},"lastSyncedAt":{"nullable":true,"type":"string","format":"date-time"},"lastSyncError":{"nullable":true,"type":"string"},"usageCount":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","organizationId","authorId","scope","name","description","icon","content","digest","latestVersion","license","compatibility","allowedTools","agentName","templated","metadata","sourceType","sourceRef","sourceOrigin","sourceCommit","githubSyncInterval","githubSyncRef","githubAppConfigId","githubPatId","sourceProvider","gitlabTokenId","lastSyncedAt","lastSyncError","usageCount","lastUsedAt","createdByServiceAccountId","createdAt","updatedAt","deletedAt"],"additionalProperties":false}},"skipped":{"type":"array","items":{"type":"string"}},"skippedFiles":{"type":"array","items":{"type":"object","properties":{"skillPath":{"type":"string"},"files":{"type":"array","items":{"type":"string"}}},"required":["skillPath","files"],"additionalProperties":false},"description":"Per created skill, resource paths not imported: oversized, beyond the per-skill file cap, or unfetchable"}},"required":["created","skipped","skippedFiles"],"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":["skill:create"]}}},"/api/skill-sandbox/artifacts/{artifactId}":{"get":{"operationId":"getSkillSandboxArtifact","tags":["Skills"],"description":"Stream the raw bytes of a skill sandbox artifact. Inline for known-safe raster images and real PDFs, so the browser can preview them; download for everything else.\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","parameters":[{"schema":{"type":"string","pattern":"^(?:[0-9a-fA-F-]{36}|obj_[A-Za-z0-9_-]{1,2048})$"},"in":"path","name":"artifactId","required":true}],"responses":{"200":{"description":"Default Response"}},"x-required-permissions":{"kind":"static","permissions":["agent:read"]}},"delete":{"operationId":"deleteSkillSandboxArtifact","tags":["Skills"],"description":"Delete a persistent file. Allowed for the file's author, or anyone with access to the project owning the file.\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","parameters":[{"schema":{"type":"string","pattern":"^(?:[0-9a-fA-F-]{36}|obj_[A-Za-z0-9_-]{1,2048})$"},"in":"path","name":"artifactId","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":["agent:read"]}}},"/api/skill-sandbox/artifacts/{artifactId}/content":{"put":{"operationId":"updateSkillSandboxArtifactContent","tags":["Skills"],"description":"Overwrite the full text content of a Markdown/plain-text file. Allowed for the file's author, or anyone with access to the project owning the file.\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","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","maxLength":1000000}},"required":["content"]}}}},"parameters":[{"schema":{"type":"string","pattern":"^(?:[0-9a-fA-F-]{36}|obj_[A-Za-z0-9_-]{1,2048})$"},"in":"path","name":"artifactId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"fileId":{"type":"string"},"filename":{"type":"string"},"mimeType":{"type":"string"},"sizeBytes":{"type":"number"}},"required":["ok","fileId","filename","mimeType","sizeBytes"],"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"]}}},"/api/skill-sandbox/conversations/{conversationId}/artifacts":{"get":{"operationId":"getSkillSandboxConversationArtifacts","tags":["Skills"],"description":"List the artifact files produced in a conversation's sandbox.\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","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":"conversationId","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":["agent:read"]}}},"/api/skill-share-links":{"get":{"operationId":"getSkillShareLinks","tags":["Skills"],"description":"List skill share links for the organization, optionally filtered by skill\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":"query","name":"skillId","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"links":{"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"},"createdByUserId":{"type":"string"},"tokenStart":{"type":"string","maxLength":22},"name":{"nullable":true,"type":"string"},"marketplaceName":{"type":"string"},"pluginClientType":{"nullable":true,"type":"string"},"pluginPlatform":{"nullable":true,"type":"string"},"expiresAt":{"nullable":true,"type":"string","format":"date-time"},"revokedAt":{"nullable":true,"type":"string","format":"date-time"},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["active","expired","revoked"]},"skills":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"required":["id","name","description"],"additionalProperties":false}},"plugins":{"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)$"},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"clientType":{"type":"string"},"contentHash":{"type":"string"}},"required":["id","pluginSlug","displayName","description","clientType","contentHash"],"additionalProperties":false}}},"required":["id","organizationId","createdByUserId","tokenStart","name","marketplaceName","pluginClientType","pluginPlatform","expiresAt","revokedAt","lastUsedAt","createdAt","updatedAt","status","skills","plugins"],"additionalProperties":false}}},"required":["links"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}},"post":{"operationId":"createSkillShareLink","tags":["Skills"],"description":"Create a share link exposing one or more skills via the public marketplace endpoint. The raw token is returned exactly once.\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":{"skillIds":{"maxItems":1111,"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)$"}},"pluginIds":{"maxItems":555,"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)$"}},"pluginPlatform":{"type":"string","enum":["posix","windows"]},"name":{"type":"string","minLength":1,"maxLength":200},"expiresAt":{"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))$"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"link":{"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"},"createdByUserId":{"type":"string"},"tokenStart":{"type":"string","maxLength":22},"name":{"nullable":true,"type":"string"},"marketplaceName":{"type":"string"},"pluginClientType":{"nullable":true,"type":"string"},"pluginPlatform":{"nullable":true,"type":"string"},"expiresAt":{"nullable":true,"type":"string","format":"date-time"},"revokedAt":{"nullable":true,"type":"string","format":"date-time"},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["active","expired","revoked"]},"skills":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"required":["id","name","description"],"additionalProperties":false}},"plugins":{"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)$"},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"clientType":{"type":"string"},"contentHash":{"type":"string"}},"required":["id","pluginSlug","displayName","description","clientType","contentHash"],"additionalProperties":false}}},"required":["id","organizationId","createdByUserId","tokenStart","name","marketplaceName","pluginClientType","pluginPlatform","expiresAt","revokedAt","lastUsedAt","createdAt","updatedAt","status","skills","plugins"],"additionalProperties":false},"rawToken":{"type":"string"},"cloneUrl":{"type":"string"},"marketplaceName":{"type":"string"}},"required":["link","rawToken","cloneUrl","marketplaceName"],"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/skill-share-links/{id}/rotate":{"post":{"operationId":"rotateSkillShareLink","tags":["Skills"],"description":"Rotate a share link: revoke it and create its replacement in one transaction, so no failure mode leaves both tokens live. The new raw token is returned exactly once.\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":{"skillIds":{"maxItems":1111,"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)$"}},"pluginIds":{"maxItems":555,"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)$"}},"pluginPlatform":{"type":"string","enum":["posix","windows"]},"name":{"type":"string","minLength":1,"maxLength":200},"expiresAt":{"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))$"}}}}}},"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":{"link":{"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"},"createdByUserId":{"type":"string"},"tokenStart":{"type":"string","maxLength":22},"name":{"nullable":true,"type":"string"},"marketplaceName":{"type":"string"},"pluginClientType":{"nullable":true,"type":"string"},"pluginPlatform":{"nullable":true,"type":"string"},"expiresAt":{"nullable":true,"type":"string","format":"date-time"},"revokedAt":{"nullable":true,"type":"string","format":"date-time"},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["active","expired","revoked"]},"skills":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"required":["id","name","description"],"additionalProperties":false}},"plugins":{"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)$"},"pluginSlug":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"clientType":{"type":"string"},"contentHash":{"type":"string"}},"required":["id","pluginSlug","displayName","description","clientType","contentHash"],"additionalProperties":false}}},"required":["id","organizationId","createdByUserId","tokenStart","name","marketplaceName","pluginClientType","pluginPlatform","expiresAt","revokedAt","lastUsedAt","createdAt","updatedAt","status","skills","plugins"],"additionalProperties":false},"rawToken":{"type":"string"},"cloneUrl":{"type":"string"},"marketplaceName":{"type":"string"}},"required":["link","rawToken","cloneUrl","marketplaceName"],"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/skill-share-links/{id}":{"delete":{"operationId":"revokeSkillShareLink","tags":["Skills"],"description":"Revoke a skill share link. Idempotent: revoking an already-revoked link is a no-op.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nNone (no additional RBAC permission required)","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"none","note":"None (no additional RBAC permission required)","permissions":[]}}}},"tags":[{"name":"Agents"},{"name":"Agent Tools"},{"name":"Skills"},{"name":"Plugins"},{"name":"Hooks"},{"name":"Schedule Triggers"},{"name":"Agent Delegations"},{"name":"OpenAPPA"},{"name":"Browser Storage States"}]}