{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "AbsolutePathBuf": { "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", "type": "string" }, "AskForApproval": { "description": "Determines the conditions under which the user is consulted to approve running the command proposed by Codex.", "oneOf": [ { "description": "Under this policy, only \"known safe\" commands—as determined by `is_safe_command()`—that **only read files** are auto‑approved. Everything else will ask the user to approve.", "enum": [ "untrusted" ], "type": "string" }, { "description": "*All* commands are auto‑approved, but they are expected to run inside a sandbox where network access is disabled and writes are confined to a specific set of paths. If the command fails, it will be escalated to the user to approve execution without a sandbox.", "enum": [ "on-failure" ], "type": "string" }, { "description": "The model decides when to ask the user for approval.", "enum": [ "on-request" ], "type": "string" }, { "description": "Never ask the user to approve commands. Failures are immediately returned to the model, and never escalated to the user for approval.", "enum": [ "never" ], "type": "string" } ] }, "ForcedLoginMethod": { "enum": [ "chatgpt", "api" ], "type": "string" }, "Profile": { "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/AskForApproval" }, { "type": "null" } ] }, "chatgptBaseUrl": { "type": [ "string", "null" ] }, "model": { "type": [ "string", "null" ] }, "modelProvider": { "type": [ "string", "null" ] }, "modelReasoningEffort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] }, "modelReasoningSummary": { "anyOf": [ { "$ref": "#/definitions/ReasoningSummary" }, { "type": "null" } ] }, "modelVerbosity": { "anyOf": [ { "$ref": "#/definitions/Verbosity" }, { "type": "null" } ] } }, "type": "object" }, "ReasoningEffort": { "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", "enum": [ "none", "minimal", "low", "medium", "high", "xhigh" ], "type": "string" }, "ReasoningSummary": { "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries", "oneOf": [ { "enum": [ "auto", "concise", "detailed" ], "type": "string" }, { "description": "Option to disable reasoning summaries.", "enum": [ "none" ], "type": "string" } ] }, "SandboxMode": { "enum": [ "read-only", "workspace-write", "danger-full-access" ], "type": "string" }, "SandboxSettings": { "properties": { "excludeSlashTmp": { "type": [ "boolean", "null" ] }, "excludeTmpdirEnvVar": { "type": [ "boolean", "null" ] }, "networkAccess": { "type": [ "boolean", "null" ] }, "writableRoots": { "default": [], "items": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": "array" } }, "type": "object" }, "Tools": { "properties": { "viewImage": { "type": [ "boolean", "null" ] }, "webSearch": { "type": [ "boolean", "null" ] } }, "type": "object" }, "UserSavedConfig": { "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/AskForApproval" }, { "type": "null" } ] }, "forcedChatgptWorkspaceId": { "type": [ "string", "null" ] }, "forcedLoginMethod": { "anyOf": [ { "$ref": "#/definitions/ForcedLoginMethod" }, { "type": "null" } ] }, "model": { "type": [ "string", "null" ] }, "modelReasoningEffort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] }, "modelReasoningSummary": { "anyOf": [ { "$ref": "#/definitions/ReasoningSummary" }, { "type": "null" } ] }, "modelVerbosity": { "anyOf": [ { "$ref": "#/definitions/Verbosity" }, { "type": "null" } ] }, "profile": { "type": [ "string", "null" ] }, "profiles": { "additionalProperties": { "$ref": "#/definitions/Profile" }, "type": "object" }, "sandboxMode": { "anyOf": [ { "$ref": "#/definitions/SandboxMode" }, { "type": "null" } ] }, "sandboxSettings": { "anyOf": [ { "$ref": "#/definitions/SandboxSettings" }, { "type": "null" } ] }, "tools": { "anyOf": [ { "$ref": "#/definitions/Tools" }, { "type": "null" } ] } }, "required": [ "profiles" ], "type": "object" }, "Verbosity": { "description": "Controls output length/detail on GPT-5 models via the Responses API. Serialized with lowercase values to match the OpenAI API.", "enum": [ "low", "medium", "high" ], "type": "string" } }, "properties": { "config": { "$ref": "#/definitions/UserSavedConfig" } }, "required": [ "config" ], "title": "GetUserSavedConfigResponse", "type": "object" }