"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"
},
"AddConversationListenerParams":{
"properties":{
"conversationId":{
"$ref":"#/definitions/ThreadId"
},
"experimentalRawEvents":{
"default":false,
"type":"boolean"
}
},
"required":[
"conversationId"
],
"type":"object"
},
"AppsListParams":{
"properties":{
"cursor":{
"description":"Opaque pagination cursor returned by a previous call.",
"type":[
"string",
"null"
]
},
"limit":{
"description":"Optional page size; defaults to a reasonable server-side value.",
"format":"uint32",
"minimum":0.0,
"type":[
"integer",
"null"
]
}
},
"type":"object"
},
"ArchiveConversationParams":{
"properties":{
"conversationId":{
"$ref":"#/definitions/ThreadId"
},
"rolloutPath":{
"type":"string"
}
},
"required":[
"conversationId",
"rolloutPath"
],
"type":"object"
},
"AskForApproval":{
"enum":[
"untrusted",
"on-failure",
"on-request",
"never"
],
"type":"string"
},
"AskForApproval2":{
"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"
}
]
},
"ByteRange":{
"properties":{
"end":{
"format":"uint",
"minimum":0.0,
"type":"integer"
},
"start":{
"format":"uint",
"minimum":0.0,
"type":"integer"
}
},
"required":[
"end",
"start"
],
"type":"object"
},
"CancelLoginAccountParams":{
"properties":{
"loginId":{
"type":"string"
}
},
"required":[
"loginId"
],
"type":"object"
},
"CancelLoginChatGptParams":{
"properties":{
"loginId":{
"type":"string"
}
},
"required":[
"loginId"
],
"type":"object"
},
"ClientInfo":{
"properties":{
"name":{
"type":"string"
},
"title":{
"type":[
"string",
"null"
]
},
"version":{
"type":"string"
}
},
"required":[
"name",
"version"
],
"type":"object"
},
"CollaborationMode":{
"description":"Collaboration mode for a Codex session.",
"properties":{
"mode":{
"$ref":"#/definitions/ModeKind"
},
"settings":{
"$ref":"#/definitions/Settings"
}
},
"required":[
"mode",
"settings"
],
"type":"object"
},
"CommandExecParams":{
"properties":{
"command":{
"items":{
"type":"string"
},
"type":"array"
},
"cwd":{
"type":[
"string",
"null"
]
},
"sandboxPolicy":{
"anyOf":[
{
"$ref":"#/definitions/SandboxPolicy"
},
{
"type":"null"
}
]
},
"timeoutMs":{
"format":"int64",
"type":[
"integer",
"null"
]
}
},
"required":[
"command"
],
"type":"object"
},
"ConfigBatchWriteParams":{
"properties":{
"edits":{
"items":{
"$ref":"#/definitions/ConfigEdit"
},
"type":"array"
},
"expectedVersion":{
"type":[
"string",
"null"
]
},
"filePath":{
"description":"Path to the config file to write; defaults to the user's `config.toml` when omitted.",
"type":[
"string",
"null"
]
}
},
"required":[
"edits"
],
"type":"object"
},
"ConfigEdit":{
"properties":{
"keyPath":{
"type":"string"
},
"mergeStrategy":{
"$ref":"#/definitions/MergeStrategy"
},
"value":true
},
"required":[
"keyPath",
"mergeStrategy",
"value"
],
"type":"object"
},
"ConfigReadParams":{
"properties":{
"cwd":{
"description":"Optional working directory to resolve project config layers. If specified, return the effective config as seen from that directory (i.e., including any project layers between `cwd` and the project/repo root).",
"type":[
"string",
"null"
]
},
"includeLayers":{
"default":false,
"type":"boolean"
}
},
"type":"object"
},
"ConfigValueWriteParams":{
"properties":{
"expectedVersion":{
"type":[
"string",
"null"
]
},
"filePath":{
"description":"Path to the config file to write; defaults to the user's `config.toml` when omitted.",
"type":[
"string",
"null"
]
},
"keyPath":{
"type":"string"
},
"mergeStrategy":{
"$ref":"#/definitions/MergeStrategy"
},
"value":true
},
"required":[
"keyPath",
"mergeStrategy",
"value"
],
"type":"object"
},
"ContentItem":{
"oneOf":[
{
"properties":{
"text":{
"type":"string"
},
"type":{
"enum":[
"input_text"
],
"title":"InputTextContentItemType",
"type":"string"
}
},
"required":[
"text",
"type"
],
"title":"InputTextContentItem",
"type":"object"
},
{
"properties":{
"image_url":{
"type":"string"
},
"type":{
"enum":[
"input_image"
],
"title":"InputImageContentItemType",
"type":"string"
}
},
"required":[
"image_url",
"type"
],
"title":"InputImageContentItem",
"type":"object"
},
{
"properties":{
"text":{
"type":"string"
},
"type":{
"enum":[
"output_text"
],
"title":"OutputTextContentItemType",
"type":"string"
}
},
"required":[
"text",
"type"
],
"title":"OutputTextContentItem",
"type":"object"
}
]
},
"DynamicToolSpec":{
"properties":{
"description":{
"type":"string"
},
"inputSchema":true,
"name":{
"type":"string"
}
},
"required":[
"description",
"inputSchema",
"name"
],
"type":"object"
},
"ExecOneOffCommandParams":{
"properties":{
"command":{
"items":{
"type":"string"
},
"type":"array"
},
"cwd":{
"type":[
"string",
"null"
]
},
"sandboxPolicy":{
"anyOf":[
{
"$ref":"#/definitions/SandboxPolicy2"
},
{
"type":"null"
}
]
},
"timeoutMs":{
"format":"uint64",
"minimum":0.0,
"type":[
"integer",
"null"
]
}
},
"required":[
"command"
],
"type":"object"
},
"FeedbackUploadParams":{
"properties":{
"classification":{
"type":"string"
},
"includeLogs":{
"type":"boolean"
},
"reason":{
"type":[
"string",
"null"
]
},
"threadId":{
"type":[
"string",
"null"
]
}
},
"required":[
"classification",
"includeLogs"
],
"type":"object"
},
"ForkConversationParams":{
"properties":{
"conversationId":{
"anyOf":[
{
"$ref":"#/definitions/ThreadId"
},
{
"type":"null"
}
]
},
"overrides":{
"anyOf":[
{
"$ref":"#/definitions/NewConversationParams"
},
{
"type":"null"
}
]
},
"path":{
"type":[
"string",
"null"
]
}
},
"type":"object"
},
"FunctionCallOutputContentItem":{
"description":"Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.",
"description":"The payload we send back to OpenAI when reporting a tool call result.\n\n`content` preserves the historical plain-string payload so downstream integrations (tests, logging, etc.) can keep treating tool output as `String`. When an MCP server returns richer data we additionally populate `content_items` with the structured form that the Responses API understands.",
"description":"When `true`, requests a proactive token refresh before returning.\n\nIn managed auth mode this triggers the normal refresh-token flow. In external auth mode this flag is ignored. Clients should refresh tokens themselves and call `account/login/start` with `chatgptAuthTokens`.",
"description":"UI-defined spans within `text` used to render or persist special elements.",
"items":{
"$ref":"#/definitions/V1TextElement"
},
"type":"array"
}
},
"required":[
"text"
],
"type":"object"
},
"type":{
"enum":[
"text"
],
"title":"TextInputItemType",
"type":"string"
}
},
"required":[
"data",
"type"
],
"title":"TextInputItem",
"type":"object"
},
{
"properties":{
"data":{
"properties":{
"image_url":{
"type":"string"
}
},
"required":[
"image_url"
],
"type":"object"
},
"type":{
"enum":[
"image"
],
"title":"ImageInputItemType",
"type":"string"
}
},
"required":[
"data",
"type"
],
"title":"ImageInputItem",
"type":"object"
},
{
"properties":{
"data":{
"properties":{
"path":{
"type":"string"
}
},
"required":[
"path"
],
"type":"object"
},
"type":{
"enum":[
"localImage"
],
"title":"LocalImageInputItemType",
"type":"string"
}
},
"required":[
"data",
"type"
],
"title":"LocalImageInputItem",
"type":"object"
}
]
},
"InterruptConversationParams":{
"properties":{
"conversationId":{
"$ref":"#/definitions/ThreadId"
}
},
"required":[
"conversationId"
],
"type":"object"
},
"ListConversationsParams":{
"properties":{
"cursor":{
"type":[
"string",
"null"
]
},
"modelProviders":{
"items":{
"type":"string"
},
"type":[
"array",
"null"
]
},
"pageSize":{
"format":"uint",
"minimum":0.0,
"type":[
"integer",
"null"
]
}
},
"type":"object"
},
"ListMcpServerStatusParams":{
"properties":{
"cursor":{
"description":"Opaque pagination cursor returned by a previous call.",
"type":[
"string",
"null"
]
},
"limit":{
"description":"Optional page size; defaults to a server-defined value.",
"format":"uint32",
"minimum":0.0,
"type":[
"integer",
"null"
]
}
},
"type":"object"
},
"LocalShellAction":{
"oneOf":[
{
"properties":{
"command":{
"items":{
"type":"string"
},
"type":"array"
},
"env":{
"additionalProperties":{
"type":"string"
},
"type":[
"object",
"null"
]
},
"timeout_ms":{
"format":"uint64",
"minimum":0.0,
"type":[
"integer",
"null"
]
},
"type":{
"enum":[
"exec"
],
"title":"ExecLocalShellActionType",
"type":"string"
},
"user":{
"type":[
"string",
"null"
]
},
"working_directory":{
"type":[
"string",
"null"
]
}
},
"required":[
"command",
"type"
],
"title":"ExecLocalShellAction",
"type":"object"
}
]
},
"LocalShellStatus":{
"enum":[
"completed",
"in_progress",
"incomplete"
],
"type":"string"
},
"LoginAccountParams":{
"oneOf":[
{
"properties":{
"apiKey":{
"type":"string"
},
"type":{
"enum":[
"apiKey"
],
"title":"ApiKeyLoginAccountParamsType",
"type":"string"
}
},
"required":[
"apiKey",
"type"
],
"title":"ApiKeyLoginAccountParams",
"type":"object"
},
{
"properties":{
"type":{
"enum":[
"chatgpt"
],
"title":"ChatgptLoginAccountParamsType",
"type":"string"
}
},
"required":[
"type"
],
"title":"ChatgptLoginAccountParams",
"type":"object"
},
{
"description":"[UNSTABLE] FOR OPENAI INTERNAL USE ONLY - DO NOT USE. The access token must contain the same scopes that Codex-managed ChatGPT auth tokens have.",
"properties":{
"accessToken":{
"description":"Access token (JWT) supplied by the client. This token is used for backend API requests.",
"type":"string"
},
"idToken":{
"description":"ID token (JWT) supplied by the client.\n\nThis token is used for identity and account metadata (email, plan type, workspace id).",
"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.",
"description":"Where to run the review: inline (default) on the current thread or detached on a new thread (returned in `reviewThreadId`)."
},
"target":{
"$ref":"#/definitions/ReviewTarget"
},
"threadId":{
"type":"string"
}
},
"required":[
"target",
"threadId"
],
"type":"object"
},
"ReviewTarget":{
"oneOf":[
{
"description":"Review the working tree: staged, unstaged, and untracked files.",
"properties":{
"type":{
"enum":[
"uncommittedChanges"
],
"title":"UncommittedChangesReviewTargetType",
"type":"string"
}
},
"required":[
"type"
],
"title":"UncommittedChangesReviewTarget",
"type":"object"
},
{
"description":"Review changes between the current branch and the given base branch.",
"properties":{
"branch":{
"type":"string"
},
"type":{
"enum":[
"baseBranch"
],
"title":"BaseBranchReviewTargetType",
"type":"string"
}
},
"required":[
"branch",
"type"
],
"title":"BaseBranchReviewTarget",
"type":"object"
},
{
"description":"Review the changes introduced by a specific commit.",
"properties":{
"sha":{
"type":"string"
},
"title":{
"description":"Optional human-readable label (e.g., commit subject) for UIs.",
"type":[
"string",
"null"
]
},
"type":{
"enum":[
"commit"
],
"title":"CommitReviewTargetType",
"type":"string"
}
},
"required":[
"sha",
"type"
],
"title":"CommitReviewTarget",
"type":"object"
},
{
"description":"Arbitrary instructions, equivalent to the old free-form prompt.",
"properties":{
"instructions":{
"type":"string"
},
"type":{
"enum":[
"custom"
],
"title":"CustomReviewTargetType",
"type":"string"
}
},
"required":[
"instructions",
"type"
],
"title":"CustomReviewTarget",
"type":"object"
}
]
},
"SandboxMode":{
"enum":[
"read-only",
"workspace-write",
"danger-full-access"
],
"type":"string"
},
"SandboxMode2":{
"enum":[
"read-only",
"workspace-write",
"danger-full-access"
],
"type":"string"
},
"SandboxPolicy":{
"oneOf":[
{
"properties":{
"type":{
"enum":[
"dangerFullAccess"
],
"title":"DangerFullAccessSandboxPolicyType",
"type":"string"
}
},
"required":[
"type"
],
"title":"DangerFullAccessSandboxPolicy",
"type":"object"
},
{
"properties":{
"type":{
"enum":[
"readOnly"
],
"title":"ReadOnlySandboxPolicyType",
"type":"string"
}
},
"required":[
"type"
],
"title":"ReadOnlySandboxPolicy",
"type":"object"
},
{
"properties":{
"networkAccess":{
"allOf":[
{
"$ref":"#/definitions/NetworkAccess"
}
],
"default":"restricted"
},
"type":{
"enum":[
"externalSandbox"
],
"title":"ExternalSandboxSandboxPolicyType",
"type":"string"
}
},
"required":[
"type"
],
"title":"ExternalSandboxSandboxPolicy",
"type":"object"
},
{
"properties":{
"excludeSlashTmp":{
"default":false,
"type":"boolean"
},
"excludeTmpdirEnvVar":{
"default":false,
"type":"boolean"
},
"networkAccess":{
"default":false,
"type":"boolean"
},
"type":{
"enum":[
"workspaceWrite"
],
"title":"WorkspaceWriteSandboxPolicyType",
"type":"string"
},
"writableRoots":{
"default":[],
"items":{
"$ref":"#/definitions/AbsolutePathBuf"
},
"type":"array"
}
},
"required":[
"type"
],
"title":"WorkspaceWriteSandboxPolicy",
"type":"object"
}
]
},
"SandboxPolicy2":{
"description":"Determines execution restrictions for model shell commands.",
"oneOf":[
{
"description":"No restrictions whatsoever. Use with caution.",
"properties":{
"type":{
"enum":[
"danger-full-access"
],
"title":"DangerFullAccessSandboxPolicy2Type",
"type":"string"
}
},
"required":[
"type"
],
"title":"DangerFullAccessSandboxPolicy2",
"type":"object"
},
{
"description":"Read-only access to the entire file-system.",
"properties":{
"type":{
"enum":[
"read-only"
],
"title":"ReadOnlySandboxPolicy2Type",
"type":"string"
}
},
"required":[
"type"
],
"title":"ReadOnlySandboxPolicy2",
"type":"object"
},
{
"description":"Indicates the process is already in an external sandbox. Allows full disk access while honoring the provided network setting.",
"properties":{
"network_access":{
"allOf":[
{
"$ref":"#/definitions/NetworkAccess2"
}
],
"default":"restricted",
"description":"Whether the external sandbox permits outbound network traffic."
},
"type":{
"enum":[
"external-sandbox"
],
"title":"ExternalSandboxSandboxPolicy2Type",
"type":"string"
}
},
"required":[
"type"
],
"title":"ExternalSandboxSandboxPolicy2",
"type":"object"
},
{
"description":"Same as `ReadOnly` but additionally grants write access to the current working directory (\"workspace\").",
"properties":{
"exclude_slash_tmp":{
"default":false,
"description":"When set to `true`, will NOT include the `/tmp` among the default writable roots on UNIX. Defaults to `false`.",
"type":"boolean"
},
"exclude_tmpdir_env_var":{
"default":false,
"description":"When set to `true`, will NOT include the per-user `TMPDIR` environment variable among the default writable roots. Defaults to `false`.",
"type":"boolean"
},
"network_access":{
"default":false,
"description":"When set to `true`, outbound network access is allowed. `false` by default.",
"type":"boolean"
},
"type":{
"enum":[
"workspace-write"
],
"title":"WorkspaceWriteSandboxPolicy2Type",
"type":"string"
},
"writable_roots":{
"description":"Additional folders (beyond cwd and possibly TMPDIR) that should be writable from within the sandbox.",
"items":{
"$ref":"#/definitions/AbsolutePathBuf"
},
"type":"array"
}
},
"required":[
"type"
],
"title":"WorkspaceWriteSandboxPolicy2",
"type":"object"
}
]
},
"SendUserMessageParams":{
"properties":{
"conversationId":{
"$ref":"#/definitions/ThreadId"
},
"items":{
"items":{
"$ref":"#/definitions/InputItem"
},
"type":"array"
}
},
"required":[
"conversationId",
"items"
],
"type":"object"
},
"SendUserTurnParams":{
"properties":{
"approvalPolicy":{
"$ref":"#/definitions/AskForApproval2"
},
"conversationId":{
"$ref":"#/definitions/ThreadId"
},
"cwd":{
"type":"string"
},
"effort":{
"anyOf":[
{
"$ref":"#/definitions/ReasoningEffort"
},
{
"type":"null"
}
]
},
"items":{
"items":{
"$ref":"#/definitions/InputItem"
},
"type":"array"
},
"model":{
"type":"string"
},
"outputSchema":{
"description":"Optional JSON Schema used to constrain the final assistant message for this turn."
},
"sandboxPolicy":{
"$ref":"#/definitions/SandboxPolicy2"
},
"summary":{
"$ref":"#/definitions/ReasoningSummary"
}
},
"required":[
"approvalPolicy",
"conversationId",
"cwd",
"items",
"model",
"sandboxPolicy",
"summary"
],
"type":"object"
},
"SetDefaultModelParams":{
"properties":{
"model":{
"type":[
"string",
"null"
]
},
"reasoningEffort":{
"anyOf":[
{
"$ref":"#/definitions/ReasoningEffort"
},
{
"type":"null"
}
]
}
},
"type":"object"
},
"Settings":{
"description":"Settings for a collaboration mode.",
"properties":{
"developer_instructions":{
"type":[
"string",
"null"
]
},
"model":{
"type":"string"
},
"reasoning_effort":{
"anyOf":[
{
"$ref":"#/definitions/ReasoningEffort"
},
{
"type":"null"
}
]
}
},
"required":[
"model"
],
"type":"object"
},
"SkillsConfigWriteParams":{
"properties":{
"enabled":{
"type":"boolean"
},
"path":{
"type":"string"
}
},
"required":[
"enabled",
"path"
],
"type":"object"
},
"SkillsListParams":{
"properties":{
"cwds":{
"description":"When empty, defaults to the current session working directory.",
"items":{
"type":"string"
},
"type":"array"
},
"forceReload":{
"description":"When true, bypass the skills cache and re-scan skills from disk.",
"description":"There are two ways to fork a thread: 1. By thread_id: load the thread from disk by thread_id and fork it into a new thread. 2. By path: load the thread from disk by path and fork it into a new thread.\n\nIf using path, the thread_id param will be ignored.\n\nPrefer using thread_id whenever possible.",
"properties":{
"approvalPolicy":{
"anyOf":[
{
"$ref":"#/definitions/AskForApproval"
},
{
"type":"null"
}
]
},
"baseInstructions":{
"type":[
"string",
"null"
]
},
"config":{
"additionalProperties":true,
"type":[
"object",
"null"
]
},
"cwd":{
"type":[
"string",
"null"
]
},
"developerInstructions":{
"type":[
"string",
"null"
]
},
"model":{
"description":"Configuration overrides for the forked thread, if any.",
"type":[
"string",
"null"
]
},
"modelProvider":{
"type":[
"string",
"null"
]
},
"path":{
"description":"[UNSTABLE] Specify the rollout path to fork from. If specified, the thread_id param will be ignored.",
"type":[
"string",
"null"
]
},
"sandbox":{
"anyOf":[
{
"$ref":"#/definitions/SandboxMode"
},
{
"type":"null"
}
]
},
"threadId":{
"type":"string"
}
},
"required":[
"threadId"
],
"type":"object"
},
"ThreadId":{
"type":"string"
},
"ThreadListParams":{
"properties":{
"archived":{
"description":"Optional archived filter; when set to true, only archived threads are returned. If false or null, only non-archived threads are returned.",
"type":[
"boolean",
"null"
]
},
"cursor":{
"description":"Opaque pagination cursor returned by a previous call.",
"type":[
"string",
"null"
]
},
"limit":{
"description":"Optional page size; defaults to a reasonable server-side value.",
"format":"uint32",
"minimum":0.0,
"type":[
"integer",
"null"
]
},
"modelProviders":{
"description":"Optional provider filter; when set, only sessions recorded under these providers are returned. When present but empty, includes all providers.",
"items":{
"type":"string"
},
"type":[
"array",
"null"
]
},
"sortKey":{
"anyOf":[
{
"$ref":"#/definitions/ThreadSortKey"
},
{
"type":"null"
}
],
"description":"Optional sort key; defaults to created_at."
},
"sourceKinds":{
"description":"Optional source filter; when set, only sessions from these source kinds are returned. When omitted or empty, defaults to interactive sources.",
"items":{
"$ref":"#/definitions/ThreadSourceKind"
},
"type":[
"array",
"null"
]
}
},
"type":"object"
},
"ThreadLoadedListParams":{
"properties":{
"cursor":{
"description":"Opaque pagination cursor returned by a previous call.",
"type":[
"string",
"null"
]
},
"limit":{
"description":"Optional page size; defaults to no limit.",
"format":"uint32",
"minimum":0.0,
"type":[
"integer",
"null"
]
}
},
"type":"object"
},
"ThreadReadParams":{
"properties":{
"includeTurns":{
"default":false,
"description":"When true, include turns and their items from rollout history.",
"type":"boolean"
},
"threadId":{
"type":"string"
}
},
"required":[
"threadId"
],
"type":"object"
},
"ThreadResumeParams":{
"description":"There are three ways to resume a thread: 1. By thread_id: load the thread from disk by thread_id and resume it. 2. By history: instantiate the thread from memory and resume it. 3. By path: load the thread from disk by path and resume it.\n\nThe precedence is: history > path > thread_id. If using history or path, the thread_id param will be ignored.\n\nPrefer using thread_id whenever possible.",
"properties":{
"approvalPolicy":{
"anyOf":[
{
"$ref":"#/definitions/AskForApproval"
},
{
"type":"null"
}
]
},
"baseInstructions":{
"type":[
"string",
"null"
]
},
"config":{
"additionalProperties":true,
"type":[
"object",
"null"
]
},
"cwd":{
"type":[
"string",
"null"
]
},
"developerInstructions":{
"type":[
"string",
"null"
]
},
"history":{
"description":"[UNSTABLE] FOR CODEX CLOUD - DO NOT USE. If specified, the thread will be resumed with the provided history instead of loaded from disk.",
"items":{
"$ref":"#/definitions/ResponseItem"
},
"type":[
"array",
"null"
]
},
"model":{
"description":"Configuration overrides for the resumed thread, if any.",
"type":[
"string",
"null"
]
},
"modelProvider":{
"type":[
"string",
"null"
]
},
"path":{
"description":"[UNSTABLE] Specify the rollout path to resume from. If specified, the thread_id param will be ignored.",
"type":[
"string",
"null"
]
},
"personality":{
"anyOf":[
{
"$ref":"#/definitions/Personality"
},
{
"type":"null"
}
]
},
"sandbox":{
"anyOf":[
{
"$ref":"#/definitions/SandboxMode"
},
{
"type":"null"
}
]
},
"threadId":{
"type":"string"
}
},
"required":[
"threadId"
],
"type":"object"
},
"ThreadRollbackParams":{
"properties":{
"numTurns":{
"description":"The number of turns to drop from the end of the thread. Must be >= 1.\n\nThis only modifies the thread's history and does not revert local file changes that have been made by the agent. Clients are responsible for reverting these changes.",
"format":"uint32",
"minimum":0.0,
"type":"integer"
},
"threadId":{
"type":"string"
}
},
"required":[
"numTurns",
"threadId"
],
"type":"object"
},
"ThreadSetNameParams":{
"properties":{
"name":{
"type":"string"
},
"threadId":{
"type":"string"
}
},
"required":[
"name",
"threadId"
],
"type":"object"
},
"ThreadSortKey":{
"enum":[
"created_at",
"updated_at"
],
"type":"string"
},
"ThreadSourceKind":{
"enum":[
"cli",
"vscode",
"exec",
"appServer",
"subAgent",
"subAgentReview",
"subAgentCompact",
"subAgentThreadSpawn",
"subAgentOther",
"unknown"
],
"type":"string"
},
"ThreadStartParams":{
"properties":{
"approvalPolicy":{
"anyOf":[
{
"$ref":"#/definitions/AskForApproval"
},
{
"type":"null"
}
]
},
"baseInstructions":{
"type":[
"string",
"null"
]
},
"config":{
"additionalProperties":true,
"type":[
"object",
"null"
]
},
"cwd":{
"type":[
"string",
"null"
]
},
"developerInstructions":{
"type":[
"string",
"null"
]
},
"ephemeral":{
"type":[
"boolean",
"null"
]
},
"experimentalRawEvents":{
"default":false,
"description":"If true, opt into emitting raw response items on the event stream.\n\nThis is for internal use only (e.g. Codex Cloud). (TODO): Figure out a better way to categorize internal / experimental events & protocols.",
"type":"boolean"
},
"model":{
"type":[
"string",
"null"
]
},
"modelProvider":{
"type":[
"string",
"null"
]
},
"personality":{
"anyOf":[
{
"$ref":"#/definitions/Personality"
},
{
"type":"null"
}
]
},
"sandbox":{
"anyOf":[
{
"$ref":"#/definitions/SandboxMode"
},
{
"type":"null"
}
]
}
},
"type":"object"
},
"ThreadUnarchiveParams":{
"properties":{
"threadId":{
"type":"string"
}
},
"required":[
"threadId"
],
"type":"object"
},
"TurnInterruptParams":{
"properties":{
"threadId":{
"type":"string"
},
"turnId":{
"type":"string"
}
},
"required":[
"threadId",
"turnId"
],
"type":"object"
},
"TurnStartParams":{
"properties":{
"approvalPolicy":{
"anyOf":[
{
"$ref":"#/definitions/AskForApproval"
},
{
"type":"null"
}
],
"description":"Override the approval policy for this turn and subsequent turns."
},
"collaborationMode":{
"anyOf":[
{
"$ref":"#/definitions/CollaborationMode"
},
{
"type":"null"
}
],
"description":"EXPERIMENTAL - set a pre-set collaboration mode. Takes precedence over model, reasoning_effort, and developer instructions if set."
},
"cwd":{
"description":"Override the working directory for this turn and subsequent turns.",
"type":[
"string",
"null"
]
},
"effort":{
"anyOf":[
{
"$ref":"#/definitions/ReasoningEffort"
},
{
"type":"null"
}
],
"description":"Override the reasoning effort for this turn and subsequent turns."
},
"input":{
"items":{
"$ref":"#/definitions/UserInput"
},
"type":"array"
},
"model":{
"description":"Override the model for this turn and subsequent turns.",
"type":[
"string",
"null"
]
},
"outputSchema":{
"description":"Optional JSON Schema used to constrain the final assistant message for this turn."
},
"personality":{
"anyOf":[
{
"$ref":"#/definitions/Personality"
},
{
"type":"null"
}
],
"description":"Override the personality for this turn and subsequent turns."
},
"sandboxPolicy":{
"anyOf":[
{
"$ref":"#/definitions/SandboxPolicy"
},
{
"type":"null"
}
],
"description":"Override the sandbox policy for this turn and subsequent turns."
},
"summary":{
"anyOf":[
{
"$ref":"#/definitions/ReasoningSummary"
},
{
"type":"null"
}
],
"description":"Override the reasoning summary for this turn and subsequent turns."
},
"threadId":{
"type":"string"
}
},
"required":[
"input",
"threadId"
],
"type":"object"
},
"UserInput":{
"oneOf":[
{
"properties":{
"text":{
"type":"string"
},
"text_elements":{
"default":[],
"description":"UI-defined spans within `text` used to render or persist special elements.",
"items":{
"$ref":"#/definitions/TextElement"
},
"type":"array"
},
"type":{
"enum":[
"text"
],
"title":"TextUserInputType",
"type":"string"
}
},
"required":[
"text",
"type"
],
"title":"TextUserInput",
"type":"object"
},
{
"properties":{
"type":{
"enum":[
"image"
],
"title":"ImageUserInputType",
"type":"string"
},
"url":{
"type":"string"
}
},
"required":[
"type",
"url"
],
"title":"ImageUserInput",
"type":"object"
},
{
"properties":{
"path":{
"type":"string"
},
"type":{
"enum":[
"localImage"
],
"title":"LocalImageUserInputType",
"type":"string"
}
},
"required":[
"path",
"type"
],
"title":"LocalImageUserInput",
"type":"object"
},
{
"properties":{
"name":{
"type":"string"
},
"path":{
"type":"string"
},
"type":{
"enum":[
"skill"
],
"title":"SkillUserInputType",
"type":"string"
}
},
"required":[
"name",
"path",
"type"
],
"title":"SkillUserInput",
"type":"object"
},
{
"properties":{
"name":{
"type":"string"
},
"path":{
"type":"string"
},
"type":{
"enum":[
"mention"
],
"title":"MentionUserInputType",
"type":"string"
}
},
"required":[
"name",
"path",
"type"
],
"title":"MentionUserInput",
"type":"object"
}
]
},
"V1ByteRange":{
"properties":{
"end":{
"description":"End byte offset (exclusive) within the UTF-8 text buffer.",
"format":"uint",
"minimum":0.0,
"type":"integer"
},
"start":{
"description":"Start byte offset (inclusive) within the UTF-8 text buffer.",
"format":"uint",
"minimum":0.0,
"type":"integer"
}
},
"required":[
"end",
"start"
],
"type":"object"
},
"V1TextElement":{
"properties":{
"byteRange":{
"allOf":[
{
"$ref":"#/definitions/V1ByteRange"
}
],
"description":"Byte range in the parent `text` buffer that this element occupies."
},
"placeholder":{
"description":"Optional human-readable placeholder for the element, displayed in the UI.",
"type":[
"string",
"null"
]
}
},
"required":[
"byteRange"
],
"type":"object"
},
"WebSearchAction":{
"oneOf":[
{
"properties":{
"queries":{
"items":{
"type":"string"
},
"type":[
"array",
"null"
]
},
"query":{
"type":[
"string",
"null"
]
},
"type":{
"enum":[
"search"
],
"title":"SearchWebSearchActionType",
"type":"string"
}
},
"required":[
"type"
],
"title":"SearchWebSearchAction",
"type":"object"
},
{
"properties":{
"type":{
"enum":[
"open_page"
],
"title":"OpenPageWebSearchActionType",
"type":"string"
},
"url":{
"type":[
"string",
"null"
]
}
},
"required":[
"type"
],
"title":"OpenPageWebSearchAction",
"type":"object"
},
{
"properties":{
"pattern":{
"type":[
"string",
"null"
]
},
"type":{
"enum":[
"find_in_page"
],
"title":"FindInPageWebSearchActionType",
"type":"string"
},
"url":{
"type":[
"string",
"null"
]
}
},
"required":[
"type"
],
"title":"FindInPageWebSearchAction",
"type":"object"
},
{
"properties":{
"type":{
"enum":[
"other"
],
"title":"OtherWebSearchActionType",
"type":"string"
}
},
"required":[
"type"
],
"title":"OtherWebSearchAction",
"type":"object"
}
]
}
},
"description":"Request from the client to the server.",