API Contents Experimental HttpApi surface for selected instance routes. The reference covers 170 operations and 497 schemas from the OpenAPI 3.1.0 document .
Server get /api/infoGet server info Return the server identity, connection URLs, paths, and readiness status.
Operation ID server.info
post /api/pairCreate pairing code Create a short-lived, single-use code for a /auth/connect/:code pairing link.
Operation ID server.pair
get /auth/connect/{code}Redeem pairing code Redeem a pairing code. Browsers receive a session cookie and a redirect to the web app; requests that accept JSON receive a session token to use as the password.
Parameter In Type Required Description codepath string Required
Operation ID server.connect
Location get /api/locationGet location Resolve the requested location or the server default location.
Parameter In Type Required Description locationquery object Optional
Operation ID location.get
post /api/location/reloadReload configuration Shut down and rebuild every loaded location. Pending permissions and forms are cancelled; running sessions continue with fresh services at the next step boundary. Emits location.shutdown for client recovery and responds once all replacement builds settle.
Operation ID location.reload
Agent get /api/agentList agents Retrieve currently registered agents.
Parameter In Type Required Description locationquery object Optional
Operation ID agent.list
get /api/agent/{agentID}Get agent Retrieve a single currently registered agent.
Parameter In Type Required Description agentIDpath Agent.ID Required locationquery object Optional
Operation ID agent.get
Plugin Experimental plugin routes.
get /api/pluginList plugins Retrieve enabled server plugins and their current status.
Parameter In Type Required Description locationquery object Optional
Operation ID plugin.list
get /api/plugin/guiRead plugin GUI bundle Read an active plugin's prebuilt CommonJS `./gui-experimental` bundle. Desktop app windows run its default export; the desktop app's main process runs its `main` export. Fails with not found when no active plugin has the id or the plugin exports no `./gui-experimental`.
Parameter In Type Required Description locationquery object Optional idquery Plugin.ID Required
Operation ID plugin.gui
post /api/plugin/checkCheck plugin updates Check one or all package plugins for available updates.
Parameter In Type Required Description locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID plugin.check
post /api/plugin/updateUpdate plugins Update package plugins concurrently and notify active locations to reload them. Responds once every update has finished; fails when any update fails.
Parameter In Type Required Description locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID plugin.update
Session Experimental session routes.
get /api/sessionList sessions Retrieve sessions in the requested order. Items keep that order across pages; use cursor.next or cursor.previous to move through the ordered list.
Parameter In Type Required Description limitquery string Optional orderquery "asc" | "desc" Optional searchquery string Optional parentIDquery Session.ID | "null" Optional archivedquery "true" | "false" Optional directoryquery AbsolutePath Optional projectquery Project.ID Optional subpathquery RelativePath Optional cursorquery SessionsCursor Optional
Operation ID session.list
post /api/sessionCreate session Create a session at the requested location. A parentID creates a linked child session at its parent's location.
Request body Type Required Description application/jsonobject Required
Operation ID session.create
get /api/experimental/session/statsGet session statistics Aggregate local session activity, usage, and tool reliability for a time range.
Parameter In Type Required Description fromquery string Optional toquery string Optional projectquery Project.ID Optional timezonequery string Optional toolsquery "none" | "summary" | "detail" Optional
Operation ID experimental.session.stats
post /api/experimental/session/importImport session Import a projected session transcript at the requested location. Accepts transcripts exported by earlier releases. If parentID is supplied, the parent session must already exist; import parents before children.
Request body Type Required Description application/jsonobject Required
Operation ID experimental.session.import
get /api/experimental/session/{sessionID}/exportExport session Export a complete projected session transcript.
Parameter In Type Required Description sessionIDpath Session.ID Required sanitizequery "true" | "false" Optional
Operation ID experimental.session.export
get /api/session/activeList active sessions Retrieve foreground Session drains currently owned by this OpenCode process. Sessions absent from the result are inactive.
Operation ID session.active
get /api/session/{sessionID}Get session Retrieve a session by ID.
Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID session.get
patch /api/session/{sessionID}Update session Update mutable session properties.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.update
delete /api/session/{sessionID}Delete session Delete a session and its child sessions.
Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID session.remove
post /api/session/{sessionID}/forkFork session Create a child session by copying projected history before a message. Omit before to copy the full history.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.fork
post /api/session/{sessionID}/agentSwitch session agent Switch the agent used by subsequent provider turns.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.switchAgent
post /api/session/{sessionID}/modelSwitch session model Switch the model used by subsequent provider turns.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.switchModel
post /api/session/{sessionID}/moveMove session Move a session to another project directory at the requested delivery boundary.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.move
post /api/session/{sessionID}/promptSend message Durably admit one session input and schedule agent-loop execution unless resume is false.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.prompt
post /api/session/{sessionID}/commandRun command Execute a slash command callback immediately.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.command
post /api/experimental/session/{sessionID}/skillActivate skill Activate a skill for a session by appending a skill message and resuming execution.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID experimental.session.skill
post /api/session/{sessionID}/syntheticAdd synthetic message Durably admit synthetic session input and schedule execution unless resume is false.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.synthetic
post /api/session/{sessionID}/shellRun shell command Execute one shell command in the session's working directory. Emits a shell.started event before execution and a shell.ended event with the merged output after.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.shell
post /api/session/{sessionID}/compactCompact session Durably admit a session compaction request. Steers by default: it runs at the next step boundary instead of waiting behind queued prompts.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.compact
post /api/experimental/session/{sessionID}/waitWait for session Wait for a session agent loop to become idle.
Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID experimental.session.wait
post /api/session/{sessionID}/revert/stageStage session revert Stage or move a reversible session boundary and optionally apply its file changes.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.revert.stage
delete /api/session/{sessionID}/revertClear staged revert Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID session.revert.clear
post /api/session/{sessionID}/revert/commitCommit staged revert Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID session.revert.commit
get /api/session/{sessionID}/contextGet session context Retrieve the active context messages for a session (all messages after the last compaction).
Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID session.context
get /api/session/{sessionID}/diffDiff session turns Structured per-file diffs of the files a turn changed. A turn runs from the first prompt after the session was last idle until its next idle marker, so prompts steered in while it was busy belong to the same turn; `to` extends the range through a later turn. Compares the range's first recorded snapshot with its last; a step still running in the active session compares against the working copy. Ranges that span a location change are rejected. In sessions without any idle marker, a prompt's turn spans until the next user message.
Operation ID session.diff
get /api/session/{sessionID}/inboxList session inbox List durable enqueued session work not yet delivered, ordered by enqueue sequence. Includes user, synthetic, compaction, and move items.
Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID session.inbox.list
patch /api/session/{sessionID}/inbox/{inboxID}Update inbox item Change a pending inbox item's delivery mode. Steering wakes session execution.
Request body Type Required Description application/jsonobject Required
Operation ID session.inbox.update
delete /api/session/{sessionID}/inbox/{inboxID}Cancel inbox input Cancel an inbox item that has not yet been delivered. Unavailable items are a no-op.
Operation ID session.inbox.cancel
get /api/experimental/session/{sessionID}/instructions/entriesList instruction entries List API-managed instruction entries attached to the session.
Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID experimental.session.instructions.entry.list
put /api/experimental/session/{sessionID}/instructions/entries/{key}Put instruction entry Attach or replace one durable instruction entry. Changes announce as updates at the next step boundary.
Request body Type Required Description application/jsonobject Required
Operation ID experimental.session.instructions.entry.put
delete /api/experimental/session/{sessionID}/instructions/entries/{key}Remove instruction entry Remove one instruction entry; the removal is announced to the model at the next step boundary.
Operation ID experimental.session.instructions.entry.remove
post /api/session/{sessionID}/generateGenerate text from session context Generate transient text from the current session context without mutating session history.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.generate
get /api/experimental/session/{sessionID}/logRead the session log Experimental durable session event log. Reads events after an exclusive aggregate sequence and continues with live events when follow=true.
Parameter In Type Required Description sessionIDpath Session.ID Required afterquery string Optional followquery "true" | "false" Optional
Operation ID experimental.session.log
post /api/session/{sessionID}/interruptInterrupt session execution Interrupt active execution owned by this OpenCode process. Returns interrupted=true when an active execution was interrupted and false for the idle no-op. When resume=true, execution resumes pending steering input and next-in-line control items (manual compaction, moves) while queued prompts remain parked.
Parameter In Type Required Description sessionIDpath Session.ID Required resumequery "true" | "false" Optional
Operation ID session.interrupt
post /api/session/{sessionID}/backgroundBackground blocking session tools Move active foreground backgroundable tools for this session into background observation. Idle requests are a no-op.
Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID session.background
get /api/session/{sessionID}/message/{messageID}Get session message Retrieve one projected message owned by the Session.
Operation ID session.message.get
get /api/session/{sessionID}/formList session forms Retrieve pending forms for a session.
Parameter In Type Required Description sessionIDpath string Required
Operation ID session.form.list
post /api/session/{sessionID}/formCreate session form Create a form for a session.
Parameter In Type Required Description sessionIDpath string Required
Operation ID session.form.create
get /api/session/{sessionID}/form/{formID}Get session form Retrieve a form and its current state for a session.
Parameter In Type Required Description sessionIDpath string Required formIDpath Form.ID Required
Operation ID session.form.get
delete /api/session/{sessionID}/form/{formID}Cancel form Cancel a pending form, optionally telling the asker why it was not answered.
Parameter In Type Required Description sessionIDpath string Required formIDpath Form.ID Required messagequery string Optional
Operation ID session.form.cancel
post /api/session/{sessionID}/form/{formID}/replyReply to form Submit an answer to a pending form.
Parameter In Type Required Description sessionIDpath string Required formIDpath Form.ID Required
Request body Type Required Description application/jsonForm.Reply Required
Operation ID session.form.reply
put /api/session/{sessionID}/environmentSet session environment Replace the process environment used by local shell commands for this session.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.environment
post /api/session/{sessionID}/viewView session Mark the idle transition observed by the viewer as viewed.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.view
get /api/session/{sessionID}/messageGet session messages Retrieve projected messages for a session, optionally filtered by type. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline, passing the same type filter on each page.
Parameter In Type Required Description sessionIDpath Session.ID Required limitquery string Optional orderquery "asc" | "desc" Optional cursorquery string Optional typequery "agent-switched" | "model-switched" | "location-switched" | "user" | "synthetic" | "system" | "skill" | "shell" | "assistant" | "compaction" | "idle" Optional
Operation ID session.message.list
Model Experimental model routes.
get /api/modelList models Retrieve the current snapshot of available models of the requested types, chat by default, ordered by release date within each type. The snapshot may precede initial plugin settlement.
Parameter In Type Required Description locationquery object Optional typesquery Model.Type | Model.Type []Optional
Operation ID model.list
get /api/model/defaultGet default model Retrieve the model used when a session has no explicit model selection.
Parameter In Type Required Description locationquery object Optional
Operation ID model.default
Generate Experimental one-shot generation routes.
post /api/experimental/generate/textGenerate text Run one stateless model generation using the server's base configuration and return the assistant text. Uses the base configuration's default model when none is specified.
Request body Type Required Description application/jsonobject Required
Operation ID experimental.generate.text
post /api/experimental/generateGenerate text (deprecated path) Deprecated alias of POST /api/experimental/generate/text.
Request body Type Required Description application/jsonobject Required
Operation ID experimental.generate.textLegacy
post /api/experimental/generate/imageGenerate images Generate or edit images with an image model using the server's base configuration and return them as base64. Stateless: nothing is stored.
Operation ID experimental.generate.image
post /api/experimental/generate/decisionsGenerate decisions Ask a decision model typed predicate, choice and score questions about the input and return one probability-bearing answer per question, in question order. Stateless: nothing is stored.
Operation ID experimental.generate.decisions
Voice Experimental server-brokered voice session routes.
get /api/experimental/voice/modelsList voice models List supported voice models, their transports, and whether the server has a usable API key for each provider.
Operation ID experimental.voice.models
post /api/experimental/voice/sessionCreate voice session Create a server-brokered voice session using the server's configured provider credentials and return the WebRTC SDP answer or WebSocket ephemeral token.
Request body Type Required Description application/jsonobject Required
Operation ID experimental.voice.session
Provider Experimental provider routes.
get /api/providerList providers Retrieve active AI providers so clients can show provider availability and configuration.
Parameter In Type Required Description locationquery object Optional
Operation ID provider.list
get /api/provider/{providerID}Get provider Retrieve a single AI provider so clients can inspect its availability and endpoint settings.
Parameter In Type Required Description providerIDpath Provider.ID Required locationquery object Optional
Operation ID provider.get
Integration Integration discovery and authentication routes.
get /api/integrationList integrations Retrieve available integrations and their authentication methods.
Parameter In Type Required Description locationquery object Optional
Operation ID integration.list
get /api/integration/{integrationID}Get integration Retrieve one integration and its authentication methods.
Parameter In Type Required Description integrationIDpath Integration.ID Required locationquery object Optional
Operation ID integration.get
post /api/experimental/integration/wellknownAdd wellknown integration Discover and persist an experimental wellknown integration source.
Parameter In Type Required Description locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID experimental.integration.wellknown.add
post /api/integration/{integrationID}/connect/keyConnect with key Run a key authentication method and store the resulting credential.
Parameter In Type Required Description integrationIDpath Integration.ID Required locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID integration.connect.key
post /api/integration/{integrationID}/connect/externalConnect with external credentials Run an external authentication method and store a reference to its credential source.
Parameter In Type Required Description integrationIDpath Integration.ID Required locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID integration.connect.external
post /api/integration/{integrationID}/connect/oauthBegin OAuth connection Start an OAuth attempt and return the authorization details.
Parameter In Type Required Description integrationIDpath Integration.ID Required locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID integration.oauth.connect
get /api/integration/{integrationID}/connect/oauth/{attemptID}Get OAuth attempt status Poll the current status of an OAuth attempt.
Operation ID integration.oauth.status
delete /api/integration/{integrationID}/connect/oauth/{attemptID}Cancel OAuth connection Cancel an OAuth attempt and release its resources.
Operation ID integration.oauth.cancel
post /api/integration/{integrationID}/connect/oauth/{attemptID}/completeComplete OAuth connection Complete a code-based OAuth attempt and store the resulting credential. For an automatic attempt with `paste`, `code` is the redirect URL copied from the browser, and the result arrives through the attempt status.
Request body Type Required Description application/jsonobject Required
Operation ID integration.oauth.complete
post /api/integration/{integrationID}/connect/commandBegin command connection Start a command authentication attempt.
Parameter In Type Required Description integrationIDpath Integration.ID Required locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID integration.command.connect
get /api/integration/{integrationID}/connect/command/{attemptID}Get command attempt status Poll the current status and output of a command authentication attempt.
Operation ID integration.command.status
delete /api/integration/{integrationID}/connect/command/{attemptID}Cancel command connection Cancel a command authentication attempt and terminate its process.
Operation ID integration.command.cancel
MCP MCP server and resource routes.
get /api/mcpList MCP servers Retrieve configured MCP servers and their connection status.
Parameter In Type Required Description locationquery object Optional
Operation ID mcp.list
put /api/experimental/mcp/{server}Add MCP server Add an MCP server at runtime or replace an existing one, connecting it immediately.
Parameter In Type Required Description serverpath string Required locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID experimental.mcp.add
delete /api/experimental/mcp/{server}Remove MCP server Stop an MCP server and remove it from the runtime set until restart.
Parameter In Type Required Description serverpath string Required locationquery object Optional
Operation ID experimental.mcp.remove
post /api/experimental/mcp/{server}/connectConnect MCP server Connect an MCP server at runtime, overriding a disabled configuration until restart.
Parameter In Type Required Description serverpath string Required locationquery object Optional
Operation ID experimental.mcp.connect
post /api/experimental/mcp/{server}/disconnectDisconnect MCP server Disconnect an MCP server at runtime, removing its tools until reconnected.
Parameter In Type Required Description serverpath string Required locationquery object Optional
Operation ID experimental.mcp.disconnect
get /api/mcp/resourceList MCP resources Retrieve resources and resource templates from connected MCP servers.
Parameter In Type Required Description locationquery object Optional
Operation ID mcp.resource.catalog
post /api/experimental/client-mcp/tokenCreate client MCP WebSocket token Create a short-lived single-use ticket for opening a client MCP WebSocket connection from a browser.
Parameter In Type Required Description x-opencode-ticketheader string Optional locationquery object Optional namequery string Required
Operation ID experimental.mcp.client.token
get /api/experimental/client-mcpAttach client MCP server Upgrade to a WebSocket over which the client hosts an MCP server named after `name`; its tools stay available while the socket is open. One JSON-RPC message per text frame. Experimental: may change without compatibility guarantees.
Parameter In Type Required Description locationquery object Optional namequery string Required ticketquery string Optional
Operation ID experimental.mcp.client
Credential get /api/credentialList credentials List every stored integration credential, including its secret value.
Operation ID credential.list
post /api/credentialCreate credential Store an integration credential. It becomes the integration's active credential unless activate is false and the integration already has one. Fails with a conflict when the requested ID already exists, and with an invalid request when an `integration.connect` policy denies the integration.
Operation ID credential.create
patch /api/credential/{credentialID}Update credential Update a stored credential label.
Parameter In Type Required Description credentialIDpath Credential.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID credential.update
delete /api/credential/{credentialID}Remove credential Remove a stored integration credential.
Parameter In Type Required Description credentialIDpath Credential.ID Required
Operation ID credential.remove
post /api/credential/{credentialID}/activateActivate credential Activate a stored integration credential.
Parameter In Type Required Description credentialIDpath Credential.ID Required
Operation ID credential.activate
Project Project routes.
get /api/projectList projects List known projects. Archived projects are excluded unless archived=true.
Parameter In Type Required Description archivedquery "true" | "false" Optional
Operation ID project.list
patch /api/project/{projectID}Update project Update the project canonical directory, display metadata, and workspace commands.
Parameter In Type Required Description projectIDpath Project.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID project.update
Location form routes.
get /api/formList pending forms Retrieve pending forms for a location.
Parameter In Type Required Description locationquery object Optional
Operation ID form.list
Permission Experimental permission routes.
get /api/permission/requestList pending permission requests Retrieve pending permission requests for a location.
Parameter In Type Required Description locationquery object Optional
Operation ID permission.request.list
get /api/permission/savedList saved permissions Retrieve saved permissions, optionally filtered by project.
Parameter In Type Required Description projectIDquery Project.ID Optional
Operation ID permission.saved.list
patch /api/permission/saved/{id}Update saved permission Change the action or resource of a saved permission. Fails with a conflict when the project already has a saved permission with the same action and resource.
Request body Type Required Description application/jsonobject Required
Operation ID permission.saved.update
delete /api/permission/saved/{id}Remove saved permission Remove a saved permission by ID.
Operation ID permission.saved.remove
get /api/session/{sessionID}/permissionList session permission requests Retrieve pending permission requests owned by a session.
Parameter In Type Required Description sessionIDpath Session.ID Required
Operation ID session.permission.list
post /api/session/{sessionID}/permissionCreate permission request Evaluate and, when approval is required, create a permission request for a session.
Parameter In Type Required Description sessionIDpath Session.ID Required
Request body Type Required Description application/jsonobject Required
Operation ID session.permission.create
get /api/session/{sessionID}/permission/{requestID}Get permission request Retrieve a pending permission request owned by a session.
Operation ID session.permission.get
post /api/session/{sessionID}/permission/{requestID}/replyReply to pending permission request Respond to a pending permission request owned by a session.
Request body Type Required Description application/jsonobject Required
Operation ID session.permission.reply
Filesystem Experimental location-scoped filesystem routes.
get /api/fs/read/*Read file Stream one file relative to the requested location with ETag, Last-Modified, and single-range HTTP Range support (206 Partial Content, 416 Range Not Satisfiable, and 304 Not Modified; multi-range and malformed Range headers fall back to 200).
Parameter In Type Required Description locationquery object Optional
Operation ID fs.read
get /api/fs/listList directory List direct children using an absolute path or a path relative to the requested location, including parents and siblings outside its directory. Entry paths remain relative to the requested location; listing does not switch locations.
Parameter In Type Required Description locationquery object Optional pathquery string Optional
Operation ID fs.list
get /api/fs/findFind files Find recursively ranked filesystem entries relative to the requested location.
Parameter In Type Required Description locationquery object Optional queryquery string Required typequery "file" | "directory" Optional limitquery string Optional
Operation ID fs.find
post /api/experimental/fs/writeWrite file Write the raw request body to an absolute path or a path relative to the requested location, creating parent directories, and return the resolved absolute path. Unlike read, the target is not confined to the location. Experimental: may change without compatibility guarantees.
Parameter In Type Required Description locationquery object Optional pathquery string Required
Request body Type Required Description application/octet-streamstring<binary> Required
Operation ID experimental.fs.write
post /api/experimental/fs/watchWatch file Watch one file relative to the requested location for 24 hours, publishing filesystem.changed on that location when it changes. Watching an already watched file resets its expiry. Paths follow read confinement. Experimental: may change without compatibility guarantees.
Parameter In Type Required Description locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID experimental.fs.watch
delete /api/experimental/fs/watchUnwatch file Stop watching one file relative to the requested location. Experimental: may change without compatibility guarantees.
Parameter In Type Required Description locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID experimental.fs.unwatch
Command Experimental command routes.
get /api/commandList commands Retrieve currently registered commands.
Parameter In Type Required Description locationquery object Optional
Operation ID command.list
Skill Experimental skill routes.
get /api/skillList skills Retrieve currently registered skills.
Parameter In Type Required Description locationquery object Optional
Operation ID skill.list
RPC Plugin RPC routes.
post /api/rpc/{rpcID}/{method}Call a plugin RPC Dispatch a method to the currently registered RPC at the requested location.
Parameter In Type Required Description rpcIDpath string Required methodpath string Required locationquery object Optional
Request body Type Required Description application/jsonRpc.Input Required
Operation ID rpc.call
Event Experimental event stream routes.
get /api/eventSubscribe to events Subscribe to native events and plugin RPC events across all server locations. Volatile by contract: a slow consumer overflows and fails the stream, and events during disconnection are missed.
Parameter In Type Required Description typesquery "location.shutdown" | "models-dev.refreshed" | "credential.updated" | "credential.switched" | "integration.updated" | "provider.updated" | "model.updated" | "agent.updated" | "session.created" | "session.agent.selected" | "session.model.selected" | "session.moved" | "session.renamed" | "session.metadata.updated" | "session.permissions" | "session.viewed" | "session.archived" | "session.unarchived" | "session.usage.updated" | "session.deleted" | "session.forked" | "session.inbox.delivered" | "session.inbox.enqueued" | "session.inbox.cancelled" | "session.inbox.delivery.changed" | "session.execution.started" | "session.execution.succeeded" | "session.execution.failed" | "session.execution.interrupted" | "session.instructions.updated" | "session.synthetic" | "session.skill.activated" | "session.shell.started" | "session.shell.ended" | "session.step.started" | "session.step.streamed" | "session.step.ended" | "session.step.failed" | "session.text.started" | "session.text.delta" | "session.text.ended" | "session.reasoning.started" | "session.reasoning.delta" | "session.reasoning.ended" | "session.tool.input.started" | "session.tool.input.delta" | "session.tool.input.ended" | "session.tool.called" | "session.tool.progress" | "session.tool.success" | "session.tool.failed" | "session.retry.scheduled" | "session.compaction.started" | "session.compaction.delta" | "session.compaction.ended" | "session.compaction.failed" | "session.revert.staged" | "session.revert.cleared" | "session.revert.committed" | "filesystem.changed" | "reference.updated" | "permission.asked" | "permission.replied" | "plugin.updated" | "project.updated" | "worktree.updated" | "worktree.resolved" | "command.updated" | "config.updated" | "skill.updated" | "pty.created" | "pty.updated" | "pty.exited" | "pty.deleted" | "persistent-pty.added" | "persistent-pty.removed" | "persistent-pty.updated" | "shell.created" | "shell.exited" | "shell.deleted" | "form.created" | "form.replied" | "form.cancelled" | "websearch.updated" | "artifact.updated" | "session.status" | "session.idle" | "tui.prompt.append" | "tui.command.execute" | "tui.toast.show" | "tui.session.select" | "installation.updated" | "installation.update-available" | "vcs.branch.updated" | "mcp.status.changed" | "mcp.resources.changed" | string | "location.shutdown" | "models-dev.refreshed" | "credential.updated" | "credential.switched" | "integration.updated" | "provider.updated" | "model.updated" | "agent.updated" | "session.created" | "session.agent.selected" | "session.model.selected" | "session.moved" | "session.renamed" | "session.metadata.updated" | "session.permissions" | "session.viewed" | "session.archived" | "session.unarchived" | "session.usage.updated" | "session.deleted" | "session.forked" | "session.inbox.delivered" | "session.inbox.enqueued" | "session.inbox.cancelled" | "session.inbox.delivery.changed" | "session.execution.started" | "session.execution.succeeded" | "session.execution.failed" | "session.execution.interrupted" | "session.instructions.updated" | "session.synthetic" | "session.skill.activated" | "session.shell.started" | "session.shell.ended" | "session.step.started" | "session.step.streamed" | "session.step.ended" | "session.step.failed" | "session.text.started" | "session.text.delta" | "session.text.ended" | "session.reasoning.started" | "session.reasoning.delta" | "session.reasoning.ended" | "session.tool.input.started" | "session.tool.input.delta" | "session.tool.input.ended" | "session.tool.called" | "session.tool.progress" | "session.tool.success" | "session.tool.failed" | "session.retry.scheduled" | "session.compaction.started" | "session.compaction.delta" | "session.compaction.ended" | "session.compaction.failed" | "session.revert.staged" | "session.revert.cleared" | "session.revert.committed" | "filesystem.changed" | "reference.updated" | "permission.asked" | "permission.replied" | "plugin.updated" | "project.updated" | "worktree.updated" | "worktree.resolved" | "command.updated" | "config.updated" | "skill.updated" | "pty.created" | "pty.updated" | "pty.exited" | "pty.deleted" | "persistent-pty.added" | "persistent-pty.removed" | "persistent-pty.updated" | "shell.created" | "shell.exited" | "shell.deleted" | "form.created" | "form.replied" | "form.cancelled" | "websearch.updated" | "artifact.updated" | "session.status" | "session.idle" | "tui.prompt.append" | "tui.command.execute" | "tui.toast.show" | "tui.session.select" | "installation.updated" | "installation.update-available" | "vcs.branch.updated" | "mcp.status.changed" | "mcp.resources.changed" | string []Optional
Operation ID event.subscribe
PTY Experimental location-scoped PTY routes.
get /api/ptyList PTY sessions List PTY sessions for a location, including exited sessions retained until removal.
Parameter In Type Required Description locationquery object Optional
Operation ID pty.list
post /api/ptyCreate PTY session Create a pseudo-terminal session for a location.
Parameter In Type Required Description locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID pty.create
get /api/pty/{ptyID}Get PTY session Get one PTY session, including its exit code once exited.
Parameter In Type Required Description ptyIDpath Pty.ID Required locationquery object Optional
Operation ID pty.get
put /api/pty/{ptyID}Update PTY session Update the title or viewport size of one PTY session.
Parameter In Type Required Description ptyIDpath Pty.ID Required locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID pty.update
delete /api/pty/{ptyID}Remove PTY session Terminate and remove one PTY session.
Parameter In Type Required Description ptyIDpath Pty.ID Required locationquery object Optional
Operation ID pty.remove
post /api/pty/{ptyID}/connect-tokenCreate PTY WebSocket token Create a short-lived single-use ticket for opening a PTY WebSocket connection.
Parameter In Type Required Description ptyIDpath Pty.ID Required x-opencode-ticketheader string Optional locationquery object Optional
Operation ID pty.connect.token
get /api/pty/{ptyID}/connectConnect to PTY session Establish a WebSocket connection streaming PTY output and accepting terminal input.
Parameter In Type Required Description ptyIDpath Pty.ID Required location[directory]query string Optional cursorquery string Optional ticketquery string Optional
Operation ID pty.connect
Persistent PTY Prototype persistent PTY routes.
get /api/experimental/session/{sessionID}/terminal/readRead the session's most recently controlled terminal Read the last physical rows without changing selection or taking control. Omitted lines uses the live terminal height; larger counts include retained history. Blank rows are preserved. Screen dimensions and cursor remain relative to the live screen. Returns null when no current terminal exists. Selection is server-local and resets on restart. Experimental: may change without compatibility guarantees.
Parameter In Type Required Description sessionIDpath Session.ID Required linesquery string Optional
Operation ID experimental.persistentPty.read
get /api/experimental/session/{sessionID}/terminalParameter In Type Required Description sessionIDpath Session.ID Required
Operation ID experimental.persistentPty.list
post /api/experimental/session/{sessionID}/terminalParameter In Type Required Description sessionIDpath Session.ID Required
Operation ID experimental.persistentPty.create
post /api/experimental/persistent-pty/shutdownOperation ID experimental.persistentPty.shutdown
post /api/experimental/persistent-pty/handoffOperation ID experimental.persistentPty.handoff
get /api/experimental/persistent-pty/{ptyID}Parameter In Type Required Description ptyIDpath Pty.ID Required
Operation ID experimental.persistentPty.get
put /api/experimental/persistent-pty/{ptyID}Resize when size is present and rename when title is present; a null title clears the user title so the shell's title shows again. Renaming fails with 501 while the terminal service predates renaming.
Parameter In Type Required Description ptyIDpath Pty.ID Required
Operation ID experimental.persistentPty.update
delete /api/experimental/persistent-pty/{ptyID}Parameter In Type Required Description ptyIDpath Pty.ID Required
Operation ID experimental.persistentPty.remove
get /api/experimental/persistent-pty/{ptyID}/snapshotParameter In Type Required Description ptyIDpath Pty.ID Required
Operation ID experimental.persistentPty.snapshot
post /api/experimental/persistent-pty/{ptyID}/connect-tokenParameter In Type Required Description ptyIDpath Pty.ID Required x-opencode-ticketheader string Optional
Operation ID experimental.persistentPty.connectToken
get /api/experimental/persistent-pty/{ptyID}/connectConnect to a persistent PTY Stream persistent PTY output through the OpenCode server.
Parameter In Type Required Description ptyIDpath Pty.ID Required cursorquery string Optional rolequery string Optional attachment_idquery string Optional takeoverquery string Optional input_protocolquery string Optional ticketquery string Optional
Operation ID experimental.persistentPty.connect
Experimental get /api/experimental/media/{hash}Read media blob Read a content-addressed media blob by SHA-256 hash with immutable Cache-Control, ETag, and 304 Not Modified support. Only blobs a stored message or inbox item still references are served. Experimental: may change without compatibility guarantees.
Parameter In Type Required Description hashpath MediaHash Required
Operation ID experimental.media.get
get /api/experimental/scheduleList schedules List a Session's schedules, oldest first. Experimental: needs experimental.schedules in the Session's config and may change without notice.
Parameter In Type Required Description sessionIDquery Session.ID Required
Operation ID experimental.schedule.list
post /api/experimental/scheduleCreate schedule Schedule a prompt that wakes the Session once after a delay, at a time, every interval, or on a cron. Experimental: needs experimental.schedules in the Session's config and may change without notice.
Operation ID experimental.schedule.create
get /api/experimental/schedule/{scheduleID}Get schedule Read one schedule. Experimental: needs experimental.schedules in the Session's config and may change without notice.
Parameter In Type Required Description scheduleIDpath Schedule.ID Required
Operation ID experimental.schedule.get
delete /api/experimental/schedule/{scheduleID}Delete schedule Delete a schedule. Experimental: needs experimental.schedules in the Session's config and may change without notice.
Parameter In Type Required Description scheduleIDpath Schedule.ID Required
Operation ID experimental.schedule.delete
post /api/experimental/schedule/{scheduleID}/pausePause schedule Stop a schedule from firing until it is resumed. Experimental: needs experimental.schedules in the Session's config and may change without notice.
Parameter In Type Required Description scheduleIDpath Schedule.ID Required
Operation ID experimental.schedule.pause
post /api/experimental/schedule/{scheduleID}/resumeResume schedule Resume a paused schedule. A one-shot that fell due while paused fires once; a repeating schedule resumes at its next slot. Experimental: needs experimental.schedules in the Session's config and may change without notice.
Parameter In Type Required Description scheduleIDpath Schedule.ID Required
Operation ID experimental.schedule.resume
get /api/experimental/artifacts/providersList artifact providers Return active artifact providers and default. Experimental: needs experimental.artifacts in the Location's config and may change without notice.
Parameter In Type Required Description locationquery object Optional
Operation ID experimental.artifacts.providers
get /api/experimental/artifactsList artifacts List published artifacts, newest update first. Experimental: needs experimental.artifacts in the Location's config and may change without notice.
Parameter In Type Required Description locationquery object Optional sessionIDquery Session.ID Optional providerquery string Optional
Operation ID experimental.artifacts.list
post /api/experimental/artifactsCreate artifact Publish a new artifact through the selected or default artifact provider. Experimental: needs experimental.artifacts in the Location's config and may change without notice.
Parameter In Type Required Description locationquery object Optional
Operation ID experimental.artifacts.create
get /api/experimental/artifacts/{artifactID}Read artifact Read an artifact's metadata and file contents. Experimental: needs experimental.artifacts in the Location's config and may change without notice.
Parameter In Type Required Description artifactIDpath Artifact.ID Required locationquery object Optional
Operation ID experimental.artifacts.get
patch /api/experimental/artifacts/{artifactID}Update artifact Replace an artifact's files at the same ID and URL. Experimental: needs experimental.artifacts in the Location's config and may change without notice.
Parameter In Type Required Description artifactIDpath Artifact.ID Required locationquery object Optional
Operation ID experimental.artifacts.update
delete /api/experimental/artifacts/{artifactID}Delete artifact Remove an artifact and its stored files. Experimental: needs experimental.artifacts in the Location's config and may change without notice.
Parameter In Type Required Description artifactIDpath Artifact.ID Required locationquery object Optional
Operation ID experimental.artifacts.delete
get /api/experimental/artifacts/{artifactID}/view/*View local artifact Serve HTML and static files from the local provider. Experimental: needs experimental.artifacts in the Location's config and may change without notice.
Parameter In Type Required Description artifactIDpath Artifact.ID Required locationquery object Optional
Operation ID experimental.artifacts.view
get /api/experimental/jobList background jobs List active and unconsumed background jobs, optionally filtered by owning session, descendants, or kind. Experimental: may change without compatibility guarantees.
Parameter In Type Required Description sessionIDquery Session.ID Optional kindquery Job.Kind Optional statusquery Job.Status Optional descendantsquery "true" | "false" Optional
Operation ID experimental.job.list
Shell Location-scoped shell command routes.
get /api/shellList running shell commands List currently running shell commands for a location. Exited commands are not included.
Parameter In Type Required Description locationquery object Optional
Operation ID shell.list
post /api/shellRun shell command Spawn one non-interactive shell command for a location. Combined stdout/stderr is captured to a file pageable via output.
Parameter In Type Required Description locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID shell.create
get /api/shell/{id}Get shell command Get one shell command, including its status and exit code once exited.
Parameter In Type Required Description idpath Shell.ID Required locationquery object Optional
Operation ID shell.get
delete /api/shell/{id}Remove shell command Terminate and remove one shell command and its retained output.
Parameter In Type Required Description idpath Shell.ID Required locationquery object Optional
Operation ID shell.remove
get /api/shell/{id}/outputRead shell output Page through captured combined output by absolute byte cursor.
Parameter In Type Required Description idpath Shell.ID Required locationquery object Optional cursorquery string Optional limitquery string Optional
Operation ID shell.output
Reference Location-scoped project references.
get /api/referenceList references List references available in the requested location.
Parameter In Type Required Description locationquery object Optional
Operation ID reference.list
Worktree Project-based worktree management routes.
get /api/worktreeList worktrees Return the project's saved worktree inventory without loading configuration or running discovery.
Parameter In Type Required Description projectIDquery Project.ID Required
Operation ID worktree.list
post /api/worktreeCreate worktree Load the project's canonical configuration, create a local worktree using its selected strategy, then run the project's setup script.
Operation ID worktree.create
delete /api/worktreeRemove worktree Load the project's canonical configuration and remove a saved worktree using its recorded strategy.
Operation ID worktree.remove
post /api/worktree/refreshRefresh worktrees Load the project's canonical configuration, discover worktrees across known checkout roots using all available strategies, and reconcile saved state.
Request body Type Required Description application/jsonobject Required
Operation ID worktree.refresh
VCS Location-scoped version control routes.
post /api/vcs/initInitialize VCS repository Initialize a repository using the selected VCS provider in a markerless project's directory and refresh its location services. Omitting provider defaults to git; built-in git and hg providers support initialization. An unknown provider returns 400; a registered provider without init returns 501.
Parameter In Type Required Description locationquery object Optional providerquery string Optional
Operation ID vcs.init
get /api/vcsVCS info Get current and default branch information for the requested location.
Parameter In Type Required Description locationquery object Optional
Operation ID vcs.get
get /api/vcs/baseVCS review base Infer a local review base from named branch creation history, or the repository default only when currently on that branch. Returns null before the first commit or when the provider lacks base metadata; ambiguous Git history requires an explicit base on diff requests.
Parameter In Type Required Description locationquery object Optional
Operation ID vcs.base
get /api/vcs/statusVCS status List uncommitted working-copy changes relative to the requested location.
Parameter In Type Required Description locationquery object Optional
Operation ID vcs.status
get /api/vcs/branchVCS branches List local and remote branches available at the requested location.
Parameter In Type Required Description locationquery object Optional searchquery string Optional limitquery string Optional
Operation ID vcs.branch.list
get /api/vcs/diffVCS diff Diff HEAD to the working copy (working), the base merge-base to the working copy (branch), or the base merge-base to HEAD (committed). Omitting base preserves repository-default comparison; supplying it overrides the comparison without saving it.
Parameter In Type Required Description locationquery object Optional modequery Vcs.Mode Required basequery string Optional contextquery string Optional untrackedquery Vcs.Untracked Optional
Operation ID vcs.diff
Debug post /api/debug/heap-dumpWrite a heap snapshot Write a JavaScript heap snapshot of the server process into its log directory, or the requested directory, and return the server-local path once the file is complete. Pauses the server while the heap serializes and can temporarily increase its memory use. The snapshot can contain credentials, prompts, and file contents.
Parameter In Type Required Description directoryquery string Optional
Operation ID debug.heapDump
get /api/debug/locationList loaded locations List locations currently loaded by the server.
Operation ID debug.location.list
delete /api/debug/locationEvict a loaded location Dispose the requested location's cached services so its next use boots them fresh.
Parameter In Type Required Description locationquery object Optional
Operation ID debug.location.evict
Migration get /api/experimental/migration/v1Get V1 migration status Return the progress of the V1 to V2 session history migration.
Operation ID experimental.migration.v1.status
Web search Location-scoped web search routes.
get /api/websearch/providerList web search providers Return the registered web search providers.
Parameter In Type Required Description locationquery object Optional
Operation ID websearch.providers
post /api/websearchSearch the web Run one web search through the selected provider. Specify a provider to override the configured default.
Parameter In Type Required Description locationquery object Optional
Request body Type Required Description application/jsonobject Required
Operation ID websearch.query
Usage Experimental usage limit routes.
get /api/experimental/usage/limitsGet usage limits Return the OpenCode Go allowance and Console budgets of the OpenCode Console workspace the location is signed in to, or null when it isn't signed in.
Parameter In Type Required Description locationquery object Optional
Operation ID experimental.usage.limits
Config Location-scoped configuration routes.
get /api/configGet configuration Return configuration documents and discovery sources for the requested location, from lowest to highest priority.
Parameter In Type Required Description locationquery object Optional
Operation ID config.get
get /api/config/shellList available shells Return shells available to terminal and agent execution.
Operation ID config.shells
patch /api/experimental/configUpdate global configuration Patch supported fields in the highest-precedence global configuration document.
Request body Type Required Description application/jsonConfig.Patch Required
Operation ID experimental.config.update
Schemas The data types the operations above refer to.
AbsolutePathstring Agent.Colorstring Agent.IDstring Agent.Infoobject AgentNotFoundErrorEncodedobject Field Type Required Description _tag"AgentNotFoundError" Required agentIDstring Required messagestring Required
Artifact.Capability"static" | "server-code" | "sqlite" | "durable-objects" "static" | "server-code" | "sqlite" | "durable-objects"
Artifact.Contentobject Field Type Required Description infoArtifact.Info Required filesobject Required
Artifact.CreateInputobject Field Type Required Description titlestring Required filesobject Required entrystring Optional providerstring Optional sessionIDSession.ID Optional
Artifact.IDstring Artifact.Infoobject Artifact.Providerobject Artifact.ProviderIDEncodedstring Artifact.Timeobject Field Type Required Description creatednumber Required updatednumber Required
Artifact.UpdateInputobject Field Type Required Description titlestring Optional filesobject Required entrystring Optional sessionIDSession.ID Optional
ArtifactNotFoundErrorEncodedobject Field Type Required Description _tag"ArtifactNotFoundError" Required artifactIDstring Required messagestring Required
Command.Infoobject Field Type Required Description namestring Required descriptionstring Optional
CommandExecutionErrorEncodedobject Field Type Required Description _tag"CommandExecutionError" Required commandstring Required messagestring Required
CommandNotFoundErrorEncodedobject Field Type Required Description _tag"CommandNotFoundError" Required commandstring Required messagestring Required
Config.AgentEncodedobject Field Type Required Description modelstring | object Optional requestobject Optional systemstring Optional descriptionstring Optional mode"subagent" | "primary" | "all" Optional hiddenboolean Optional colorstring Optional stepsinteger Optional disabledboolean Optional permissionsPermission.Ruleset Optional
Config.CommandEncodedobject Field Type Required Description templatestring Required descriptionstring Optional agentstring Optional modelstring | object Optional subagentboolean Optional subtaskboolean Optional Deprecated alias for subagent.
Config.Compaction.Percentstring Config.DirectoryEncodedobject Field Type Required Description type"directory" Required pathAbsolutePath Required
Config.DocumentEncodedobject Config.EntryConfig.DocumentEncoded | Config.DirectoryEncoded Config.Formatter.EntryEncodedobject Field Type Required Description disabledboolean Optional commandstring []Optional environmentobject Optional extensionsstring []Optional
Config.InfoEncodedobject Field Type Required Description $schemastring Optional shellstring Optional modelstring | object Optional default_agentstring Optional update"disable" | "notify" | "auto" Optional share"manual" | "auto" | "disabled" Optional enterpriseobject Optional usernamestring Optional timezonestring Optional permissionsPermission.Ruleset Optional policiesobject []Optional agentsobject Optional snapshotsboolean Optional watcherobject Optional formatterboolean | object Optional lspboolean | object Optional mediaobject Optional tool_outputobject Optional mcpobject Optional compactionobject Optional skillsstring []Optional commandsobject Optional instructionsstring []Optional referencesobject Optional websearchfalse | ConfigWebSearch.InfoEncoded Optional pluginsstring | Config.Plugin.EntryEncoded []Optional worktreeConfig.Worktree Optional warmingboolean | Config.WarmingEncoded Optional providersobject Optional experimentalobject Optional
Config.LSP.ServerEncodedobject Field Type Required Description commandstring []Required extensionsstring []Optional disabledboolean Optional envobject Optional initializationobject Optional
Config.Model.Capabilitiesobject Field Type Required Description toolsboolean Optional inputstring []Optional outputstring []Optional temperatureboolean Optional reasoningConfig.Model.Reasoning Optional
Config.Model.CostEncodedobject Config.Model.Reasoningobject | object Config.Model.Settingsobject Config.Model.VariantSettingsobject Config.ModelEncodedobject Config.Patchobject Field Type Required Description shellstring | null Required
Config.Plugin.EntryEncodedobject Field Type Required Description packagestring Required optionsobject Optional
Config.Provider.Settingsobject Config.ProviderEncodedobject Config.Reference.GitEncodedobject Field Type Required Description repositorystring Required branchstring Optional descriptionstring Optional hiddenboolean Optional
Config.Reference.LocalEncodedobject Field Type Required Description pathstring Required descriptionstring Optional hiddenboolean Optional
Config.WarmingEncodedobject Field Type Required Description promptstring Optional interval"auto" | string Optional durationstring Optional
Config.Worktreeobject Field Type Required Description directorystring Required
ConfigShell.Optionobject Field Type Required Description pathstring Required namestring Required acceptableboolean Required
ConfigWebSearch.InfoEncodedobject Field Type Required Description provider"random" | WebSearch.ID Required
ConflictErrorEncodedobject Field Type Required Description _tag"ConflictError" Required messagestring Required resourcestring | null Optional
Connection.CredentialInfoobject Field Type Required Description type"credential" Required idCredential.ID Required labelstring Required method"key" | "oauth" | "external" Required statusConnection.Status Optional
Connection.EnvInfoobject Field Type Required Description type"env" Required namestring Required statusConnection.Status Optional
Connection.InfoConnection.CredentialInfo | Connection.EnvInfo Connection.Statusobject Field Type Required Description status"needs_auth" Required messagestring Required urlstring Optional
Credential.CreateInputobject Credential.Entryobject Credential.Externalobject Field Type Required Description type"external" Required methodIDIntegration.MethodID Required metadataobject Optional
Credential.IDstring Credential.Keyobject Field Type Required Description type"key" Required keystring Required metadataobject Optional
Credential.OAuthobject Field Type Required Description type"oauth" Required methodIDIntegration.MethodID Required refreshstring Required accessstring Required expiresinteger Required metadataobject Optional
Credential.ValueCredential.OAuth | Credential.Key | Credential.External Event.IDstring Event.Seqinteger Event.VersionEncoded_c3ea984aceae2 Event.VersionEncoded_c77c5abcb68d1 EventLog.Syncedobject Marker emitted once when a log read reaches its captured watermark. The reader holds every event committed at or below seq.
Field Type Required Description type"log.synced" Required aggregateIDstring Required seqEvent.Seq Optional
FileDiff.Infoobject Field Type Required Description filestring Required patchstring Required additionsinteger Required deletionsinteger Required status"added" | "deleted" | "modified" Required moretrue Optional
FileNotFoundErrorEncodedobject Field Type Required Description _tag"FileNotFoundError" Required pathstring Required messagestring Required
FileSystem.Entryobject Field Type Required Description pathRelativePath Required type"file" | "directory" Required
FileSystem.Writeobject ForbiddenErrorEncodedobject Field Type Required Description _tag"ForbiddenError" Required messagestring Required
Form.Answerobject Form.Answer_1object Form.BooleanFieldobject Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When []Optional type"boolean" Required defaultboolean Optional
Form.BooleanField_1object Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When_1 []Optional type"boolean" Required defaultboolean Optional
Form.CreatePayloadobject Form.Detailobject Form.ExternalFieldobject Field Type Required Description keystring Required type"external" Required urlstring Required titlestring Optional descriptionstring Optional
Form.FieldForm.StringField | Form.NumberField | Form.IntegerField | Form.BooleanField | Form.MultiselectField | Form.ExternalField Form.Field_1Form.StringField_1 | Form.NumberField_1 | Form.IntegerField_1 | Form.BooleanField_1 | Form.MultiselectField_1 | Form.ExternalField Form.FieldsForm.Field[] Form.Fields_1Form.Field_1[] Form.IDstring Form.Infoobject Form.Info_1object Form.IntegerFieldobject Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When []Optional type"integer" Required minimumnumber | "Infinity" | "-Infinity" | "NaN" Optional maximumnumber | "Infinity" | "-Infinity" | "NaN" Optional defaultnumber | "Infinity" | "-Infinity" | "NaN" Optional
Form.IntegerField_1object Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When_1 []Optional type"integer" Required minimumnumber | "NaN" | "Infinity" | "-Infinity" Optional maximumnumber | "NaN" | "Infinity" | "-Infinity" Optional defaultnumber | "NaN" | "Infinity" | "-Infinity" Optional
Form.Metadataobject Form.MultiselectFieldobject Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When []Optional type"multiselect" Required optionsForm.Option []Required minItemsinteger Optional maxItemsinteger Optional customboolean Optional defaultstring []Optional
Form.MultiselectField_1object Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When_1 []Optional type"multiselect" Required optionsForm.Option []Required minItemsinteger Optional maxItemsinteger Optional customboolean Optional defaultstring []Optional
Form.NumberFieldobject Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When []Optional type"number" Required minimumnumber | "Infinity" | "-Infinity" | "NaN" Optional maximumnumber | "Infinity" | "-Infinity" | "NaN" Optional defaultnumber | "Infinity" | "-Infinity" | "NaN" Optional
Form.NumberField_1object Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When_1 []Optional type"number" Required minimumnumber | "NaN" | "Infinity" | "-Infinity" Optional maximumnumber | "NaN" | "Infinity" | "-Infinity" Optional defaultnumber | "NaN" | "Infinity" | "-Infinity" Optional
Form.Optionobject Field Type Required Description valuestring Required labelstring Required descriptionstring Optional
Form.Replyobject Form.Stateobject | object | object Form.StringFieldobject Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When []Optional type"string" Required format"email" | "uri" | "date" | "date-time" Optional minLengthinteger Optional maxLengthinteger Optional patternstring Optional placeholderstring Optional defaultstring Optional optionsForm.Option []Optional customboolean Optional
Form.StringField_1object Field Type Required Description keystring Required titlestring Optional descriptionstring Optional requiredboolean Optional hiddenboolean Optional whenForm.When_1 []Optional type"string" Required format"email" | "uri" | "date" | "date-time" Optional minLengthinteger Optional maxLengthinteger Optional patternstring Optional placeholderstring Optional defaultstring Optional optionsForm.Option []Optional customboolean Optional
Form.Valuestring | number | "Infinity" | "-Infinity" | "NaN" | boolean | string[] string | number | "Infinity" | "-Infinity" | "NaN" | boolean | string []
Form.Value_1string | number | "NaN" | "Infinity" | "-Infinity" | boolean | string[] string | number | "NaN" | "Infinity" | "-Infinity" | boolean | string []
Form.Whenobject Field Type Required Description keystring Required op"eq" | "neq" Required valuestring | number | "Infinity" | "-Infinity" | "NaN" | boolean Required
Form.When_1object Field Type Required Description keystring Required op"eq" | "neq" Required valuestring | number | "NaN" | "Infinity" | "-Infinity" | boolean Required
FormAlreadySettledErrorEncodedobject Field Type Required Description _tag"FormAlreadySettledError" Required idstring Required messagestring Required
FormInvalidAnswerErrorEncodedobject Field Type Required Description _tag"FormInvalidAnswerError" Required idstring Required messagestring Required
FormNotFoundErrorEncodedobject Field Type Required Description _tag"FormNotFoundError" Required idstring Required messagestring Required
Generate.ChoiceAnswerobject Field Type Required Description type"choice" Required namestring Required choiceGenerate.ChoiceValue Required probabilitiesobject []Required confidencenumber Required
Generate.ChoiceQuestionobject Pick one value from a fixed set
Field Type Required Description type"choice" Required namestring Required Unique within the request; echoed on the matching answer instructionsstring Required choicesobject []Required
Generate.ChoiceValuestring | boolean Choice values are typed: true and "true" are different values
string | boolean
Generate.DecisionAnswerGenerate.PredicateAnswer | Generate.ChoiceAnswer | Generate.ScoreAnswer | Generate.ErrorAnswer Generate.DecisionFilePartobject Field Type Required Description type"file" Required dataPrompt.Base64 Required mimestring Required namestring Optional
Generate.DecisionJsonPartobject Field Type Required Description type"json" Required valueobject Required
Generate.DecisionPartGenerate.DecisionTextPart | Generate.DecisionJsonPart | Generate.DecisionFilePart Generate.DecisionQuestionGenerate.PredicateQuestion | Generate.ChoiceQuestion | Generate.ScoreQuestion Generate.DecisionRequestobject Generate.DecisionResultobject Generate.DecisionTextPartobject Field Type Required Description type"text" Required textstring Required
Generate.ErrorAnswerobject This one question has no answer; the other answers still came back
Field Type Required Description type"error" Required namestring Required reasonstring Required Why the question has no answer, for example refusal messagestring Optional
Generate.Fileobject Field Type Required Description dataPrompt.Base64 Required mimestring Required namestring Optional
Generate.ImageAspectstring Aspect ratio as width:height, for example 16:9
string
Generate.ImageOutputobject Field Type Required Description type"image" Required dataPrompt.Base64 Required mimestring Required namestring Optional
Generate.ImageRequestobject Generate.ImageResolution"1K" | "2K" | "4K" | string Size tier such as 1K, 2K or 4K; 1K is about as many pixels as 1024x1024 at the requested aspect
"1K" | "2K" | "4K" | string
Generate.ImageResultobject Generate.Nativeobject Provider-specific data the shared fields do not cover
object
Generate.PredicateAnswerobject Field Type Required Description type"predicate" Required namestring Required probabilitynumber Required
Generate.PredicateQuestionobject The probability that a statement is true
Field Type Required Description type"predicate" Required namestring Required Unique within the request; echoed on the matching answer instructionsstring Required
Generate.ScoreAnswerobject Field Type Required Description type"score" Required namestring Required scorenumber Required Probability-weighted level index, so it can fall between levels probabilitiesobject []Required confidencenumber Required
Generate.ScoreQuestionobject Place the input on ordered levels, lowest first
Field Type Required Description type"score" Required namestring Required Unique within the request; echoed on the matching answer instructionsstring Required levelsobject []Required
Generate.Usageobject Token counts, when the provider reports them
Field Type Required Description inputnumber Optional outputnumber Optional
GenerateDecisionsResponseobject GenerateImageResponseobject GenerateTextResponseobject Field Type Required Description dataobject Required
Instruction.Hashstring Instruction.Keystring InstructionEntry.Infoobject Field Type Required Description keyInstructionEntry.Key Required valueobject Required JSON value attached to the session's instructions
InstructionEntry.Keystring Instruction entry key (lowercase alphanumerics plus . _ -)
string
InstructionEntry.Snapshotobject[] InstructionEntryValueTooLargeErrorEncodedobject Field Type Required Description _tag"InstructionEntryValueTooLargeError" Required actualBytesinteger Required maxBytesinteger Required messagestring Required
Integration.AttemptEncodedobject Field Type Required Description attemptIDIntegration.AttemptID Required urlstring Required instructionsstring Required mode"auto" | "code" Required pastetrue Optional timeobject Required
Integration.AttemptIDstring Integration.AttemptStatusobject | object | object | object object | object | object | object
Integration.CommandAttemptobject Integration.CommandAttemptStatusobject | object | object | object object | object | object | object
Integration.CommandMethodobject Field Type Required Description idIntegration.MethodID Required type"command" Required labelstring Required commandstring []Required
Integration.EnvMethodobject Field Type Required Description type"env" Required namesstring []Required
Integration.ExternalMethodobject Integration.IDstring Integration.Infoobject Integration.KeyMethodobject Field Type Required Description type"key" Required labelstring Optional formForm.Fields Optional
Integration.MethodIntegration.OAuthMethod | Integration.CommandMethod | Integration.KeyMethod | Integration.ExternalMethod | Integration.EnvMethod Integration.MethodIDstring Integration.OAuthMethodobject IntegrationAttemptNotFoundErrorEncodedobject Field Type Required Description _tag"IntegrationAttemptNotFoundError" Required integrationIDstring Required attemptIDstring Required messagestring Required
IntegrationMethodNotFoundErrorEncodedobject Field Type Required Description _tag"IntegrationMethodNotFoundError" Required integrationIDstring Required methodIDstring Required messagestring Required
IntegrationNotFoundErrorEncodedobject Field Type Required Description _tag"IntegrationNotFoundError" Required integrationIDstring Required messagestring Required
InvalidCursorErrorEncodedobject Field Type Required Description _tag"InvalidCursorError" Required messagestring Required
InvalidRequestErrorEncodedobject Field Type Required Description _tag"InvalidRequestError" Required messagestring Required kindstring | null Optional fieldstring | null Optional
Job.Imageobject Field Type Required Description kind"image" Required idstring Required sessionIDSession.ID Required statusJob.Status Required titlestring Optional timeJob.Time Required pathstring Required modelstring Required
Job.InfoJob.Shell | Job.Subagent | Job.Image Job.Kind"shell" | "subagent" | "image" "shell" | "subagent" | "image"
Job.Shellobject Field Type Required Description kind"shell" Required idstring Required sessionIDSession.ID Required statusJob.Status Required titlestring Optional timeJob.Time Required shellIDstring Required commandstring Required
Job.Status"running" | "completed" | "error" | "cancelled" "running" | "completed" | "error" | "cancelled"
Job.Subagentobject Field Type Required Description kind"subagent" Required idstring Required sessionIDSession.ID Required statusJob.Status Required titlestring Optional timeJob.Time Required childSessionIDSession.ID Required agentstring Required descriptionstring Required
Job.Timeobject Field Type Required Description startednumber Required Start time in milliseconds since the Unix epoch completednumber Optional
Location.PublicInfoobject Field Type Required Description directoryAbsolutePath Required projectobject Required
Location.PublicRefobject Location.Refobject LocationNotFoundErrorEncodedobject Field Type Required Description _tag"LocationNotFoundError" Required locationLocation.PublicRef Required messagestring Required
Mcp.LocalConfigEncodedobject Field Type Required Description type"local" Required commandstring []Required cwdstring Optional environmentobject Optional disabledboolean Optional codemodeboolean Optional timeoutobject Optional protocolMcp.Protocol Optional poolboolean Optional
Mcp.OAuthConfigEncodedobject Field Type Required Description client_idstring Optional client_secretstring Optional scopestring Optional callback_portinteger Optional redirect_uristring Optional auth_server_metadata_urlstring Optional
Mcp.Protocol"legacy" | "auto" | "2026-07-28" MCP protocol negotiation. "legacy" (default) opens with the initialize handshake and speaks protocol revisions up to 2025-11-25. "auto" probes for the 2026-07-28 revision and falls back to legacy when the server does not support it. "2026-07-28" requires that revision and fails otherwise.
"legacy" | "auto" | "2026-07-28"
Mcp.RemoteConfigEncodedobject Field Type Required Description type"remote" Required urlstring Required headersobject Optional oauthMcp.OAuthConfigEncoded | false Optional disabledboolean Optional codemodeboolean Optional timeoutobject Optional protocolMcp.Protocol Optional poolboolean Optional
Mcp.Resourceobject Field Type Required Description serverstring Required namestring Required uristring Required descriptionstring Optional mimeTypestring Optional
Mcp.ResourceCatalogobject Mcp.ResourceTemplateobject Field Type Required Description serverstring Required namestring Required uriTemplatestring Required descriptionstring Optional mimeTypestring Optional
Mcp.Serverobject Mcp.Status.Connectedobject Field Type Required Description status"connected" Required
Mcp.Status.Disabledobject Field Type Required Description status"disabled" Required
Mcp.Status.Failedobject Field Type Required Description status"failed" Required errorstring Required
Mcp.Status.NeedsAuthobject Field Type Required Description status"needs_auth" Required errorstring Required
Mcp.Status.Pendingobject Field Type Required Description status"pending" Required
McpServerNotFoundErrorEncodedobject Field Type Required Description _tag"McpServerNotFoundError" Required serverstring Required messagestring Required
MediaHashstring MessageNotFoundErrorEncodedobject Field Type Required Description _tag"MessageNotFoundError" Required sessionIDstring Required messageIDstring Required messagestring Required
Model.CacheFormat"anthropic" | "alibaba" Model.Capabilitiesobject Field Type Required Description toolsboolean Required inputstring []Required outputstring []Required temperatureboolean Optional
Model.Compatibilityobject Field Type Required Description reasoningFieldModel.ReasoningField Optional requireReasoningboolean Optional maxTokensFieldModel.MaxTokensField Optional requireFinishReasonboolean Optional requireAssistantAfterToolboolean Optional supportsPromptCacheKeyboolean Optional streamUsageboolean Optional cacheFormatModel.CacheFormat Optional supportsThinkingBlockBindingboolean Optional supportsEffortUpdatesboolean Optional mediaInputModel.MediaInput Optional
Model.Costobject Model.Infoobject Model.MaxTokensField"max_completion_tokens" | "max_tokens" "max_completion_tokens" | "max_tokens"
Model.MediaInput"assets" | "state" | "root" "assets" | "state" | "root"
Model.ReasoningField"reasoning" | "reasoning_content" | "reasoning_text" | string "reasoning" | "reasoning_content" | "reasoning_text" | string
Model.Refobject Field Type Required Description idstring Required providerIDProvider.ID Required variantstring Optional
Model.Settingsobject Model.Type"chat" | "decision" | "image" | string "chat" | "decision" | "image" | string
Model.Variantobject Field Type Required Description idstring Required settingsModel.VariantSettings Optional headersobject Optional bodyobject Optional
Model.VariantSettingsobject ModelNotFoundErrorEncodedobject Field Type Required Description _tag"ModelNotFoundError" Required providerIDstring Required modelIDstring Required messagestring Required
Money.USDnumber Money.USDPerMillionTokensnumber PairingCodeobject Field Type Required Description codestring Required expires_ininteger Required
PairingSessionobject Field Type Required Description tokenstring Required
Permission.Effect"allow" | "deny" | "ask" Permission.IDstring Permission.Reply"once" | "always" | "reject" "once" | "always" | "reject"
Permission.Requestobject Field Type Required Description idPermission.ID Required sessionIDSession.ID Required actionstring Required resourcesstring []Required savestring []Optional metadataobject Optional sourcePermission.Source Optional messagestring Optional
Permission.Ruleobject Field Type Required Description actionstring Required resourcestring Required effectPermission.Effect Required
Permission.RulesetPermission.Rule[] Permission.Sourceobject PermissionNotFoundErrorEncodedobject Field Type Required Description _tag"PermissionNotFoundError" Required requestIDstring Required messagestring Required
PermissionSaved.IDstring PermissionSaved.Infoobject Field Type Required Description idPermissionSaved.ID Required projectIDProject.ID Required actionstring Required resourcestring Required timeobject Required
PermissionSavedNotFoundErrorEncodedobject Field Type Required Description _tag"PermissionSavedNotFoundError" Required idstring Required messagestring Required
PersistentPty.CreateInputobject Field Type Required Description commandstring Optional argsstring []Required cwdstring Optional titlestring Required envobject Required sizeobject Optional
PersistentPty.Handoffobject Field Type Required Description directorystring Required instanceIDstring Required ticketstring Required expiresAtnumber | "Infinity" | "-Infinity" | "NaN" Required
PersistentPty.Infoobject Field Type Required Description idPty.ID Required titlestring Required commandstring Required argsstring []Required cwdstring Required status"running" | "exited" Required pidinteger Required exitCodeinteger Optional sessionIDSession.ID Required userTitlestring | null Required foregroundProcessstring | null Required sizeobject Required outputobject Required
PersistentPty.ReadResultobject Field Type Required Description ptyIDPty.ID Required titlestring Required cwdstring Required foregroundProcessstring | null Required screenobject Required
PersistentPty.Snapshotobject Field Type Required Description infoPersistentPty.Info Required textstring Required checkpointstring<byte> Required cursorobject Required
PersistentPty.UpdateInputobject Field Type Required Description attachmentIDstring Optional sizeobject Optional titlestring | null Optional
Plugin.Featuresobject Field Type Required Description servertrue Optional tuitrue Optional rpctrue Optional guitrue Optional
Plugin.GuiBundleobject Field Type Required Description codestring Required revisionstring Required optionsobject Required
Plugin.IDstring Plugin.Infoobject Plugin.Sourceobject | object | object | object object | object | object | object
Plugin.Stateobject | object PluginNotFoundErrorEncodedobject Field Type Required Description _tag"PluginNotFoundError" Required pluginIDstring Required messagestring Required
Projectobject Project.Commandsobject Field Type Required Description startstring Optional Startup script to run when creating a new workspace (worktree)
Project.IDstring Project.Iconobject Field Type Required Description urlstring Optional overridestring Optional colorstring Optional
Project.Timeobject Field Type Required Description createdinteger Required updatedinteger Required activeinteger Required archivedinteger Optional
Project.Vcsstring ProjectNotFoundErrorEncodedobject Field Type Required Description _tag"ProjectNotFoundError" Required projectIDstring Required messagestring Required
Prompt.AgentAttachmentobject Field Type Required Description namestring Required mentionPrompt.Mention Optional
Prompt.Base64string Prompt.FileAttachmentobject Prompt.FileSourceobject | object Prompt.Mentionobject Field Type Required Description startnumber Required endnumber Required textstring Required
Prompt.SkillAttachmentobject PromptInput.FileAttachmentobject PromptInput.SkillAttachmentobject Provider.Cacheobject Provider.CacheTTLstring Provider.CacheWarmingboolean | object Provider.Compactionobject | object Provider.Compatibilityobject Provider.Encoding"zstd" | "gzip" | "none" Provider.IDstring Provider.Infoobject Provider.Requestobject Field Type Required Description settingsProvider.Settings Required headersobject Required bodyobject Required
Provider.Settingsobject Provider.Transport"http" | "websocket" ProviderNotFoundErrorEncodedobject Field Type Required Description _tag"ProviderNotFoundError" Required providerIDstring Required messagestring Required
ProviderRequestErrorEncodedobject Field Type Required Description _tag"ProviderRequestError" Required providerIDstring Required reason"authentication" | "rate_limit" | "content_filter" | "invalid_request" | "overloaded" | "provider" Required messagestring Required statusinteger | null Optional retryAfterMsinteger | null Optional
Ptyobject Field Type Required Description idPty.ID Required titlestring Required commandstring Required argsstring []Required cwdstring Required status"running" | "exited" Required pidinteger Required exitCodeinteger Optional
Pty.IDstring PtyFeatureUnsupportedErrorEncodedobject Field Type Required Description _tag"PtyFeatureUnsupportedError" Required featurestring Required messagestring Required
PtyNotFoundErrorEncodedobject Field Type Required Description _tag"PtyNotFoundError" Required ptyIDstring Required messagestring Required
PtyTicket.ConnectTokenobject Field Type Required Description ticketstring Required expires_ininteger Required
Reference.GitSourceobject Field Type Required Description type"git" Required repositorystring Required branchstring Optional
Reference.Infoobject Field Type Required Description namestring Required pathAbsolutePath Required descriptionstring Optional hiddenboolean Optional sourceReference.Source Required
Reference.LocalSourceobject Field Type Required Description type"local" Required pathAbsolutePath Required
Reference.SourceReference.LocalSource | Reference.GitSource RelativePathstring Rpc.Inputobject Field Type Required Description inputobject Optional
Rpc.Outputobject Field Type Required Description outputobject Optional
RpcErrorEncodedobject Field Type Required Description _tag"RpcError" Required typestring Required messagestring Required dataobject | null Optional
RpcInternalErrorEncodedobject Field Type Required Description _tag"RpcInternalError" Required type"rpc.internal" | "rpc.invalid_output" Required messagestring Required dataobject | null Optional
Schedule.ActionSchedule.Action.Prompt Schedule.Action.Promptobject Field Type Required Description type"prompt" Required promptstring Required
Schedule.ConditionSchedule.Condition.Shell | Schedule.Condition.Code Schedule.Condition.Codeobject Field Type Required Description type"code" Required codestring Required
Schedule.Condition.Shellobject Field Type Required Description type"shell" Required runstring Required isstring Optional matchesstring Optional changesboolean Optional
Schedule.ConditionInputobject | object Schedule.CreatePayloadobject Schedule.Durationstring A duration such as "90 seconds", "5 minutes" or "2 hours".
string
Schedule.Endsobject Field Type Required Description afterSchedule.Duration Optional atstring Optional timesinteger Optional
Schedule.IDstring Schedule.Infoobject Schedule.Outcome"fired" | "late" | "checked" | "expired" | "skipped" | "disabled" | "failed" "fired" | "late" | "checked" | "expired" | "skipped" | "disabled" | "failed"
Schedule.Status"active" | "paused" | "done" "active" | "paused" | "done"
Schedule.WhenSchedule.When.In | Schedule.When.At | Schedule.When.Every | Schedule.When.Cron Schedule.When.Atobject Field Type Required Description type"at" Required atstring Required tzstring Optional
Schedule.When.Cronobject Field Type Required Description type"cron" Required cronstring Required tzstring Optional
Schedule.When.Everyobject Field Type Required Description type"every" Required everySchedule.Duration Required tzstring Optional
Schedule.When.Inobject Field Type Required Description type"in" Required inSchedule.Duration Required tzstring Optional
Schedule.WhenInputobject | object | object | object object | object | object | object
ScheduleNotFoundErrorEncodedobject Field Type Required Description _tag"ScheduleNotFoundError" Required scheduleIDstring Required messagestring Required
ServerInfoobject Field Type Required Description versionstring Required pidinteger Required hostnamestring | null Optional urlsstring []Required pathsobject Required capabilitiesobject | null Optional
ServiceUnavailableErrorEncodedobject Field Type Required Description _tag"ServiceUnavailableError" Required messagestring Required servicestring | null Optional
Session.Event.Durablesession.created | session.agent.selected | session.model.selected | session.moved | session.renamed | session.metadata.updated | session.permissions | session.viewed | session.archived | session.unarchived | session.deleted | session.forked | session.inbox.delivered | session.inbox.enqueued | session.inbox.cancelled | session.inbox.delivery.changed | session.execution.started | session.execution.succeeded | session.execution.failed | session.execution.interrupted | session.instructions.updated | session.synthetic | session.skill.activated | session.shell.started | session.shell.ended | session.step.started | session.step.streamed | session.step.ended | session.step.failed | session.text.started | session.text.ended | session.reasoning.started | session.reasoning.ended | session.tool.input.started | session.tool.input.ended | session.tool.called | session.tool.success | session.tool.failed | session.retry.scheduled | session.compaction.started | session.compaction.ended | session.compaction.failed | session.revert.staged | session.revert.cleared | session.revert.committed | session.usage.recorded | session.message.content.updated Session.ForkBoundaryobject | object Session.IDstring Session.Inbox.Compactionobject Session.Inbox.CompactionPayloadobject Session.Inbox.Delivery"steer" | "queue" Session.Inbox.InfoSession.Inbox.User | Session.Inbox.Synthetic | Session.Inbox.Compaction | Session.Inbox.Move Session.Inbox.Itemobject | object | object | object object | object | object | object
Session.Inbox.Moveobject Session.Inbox.MovePayloadobject Session.Inbox.MovePayload_1object Session.Inbox.Syntheticobject Session.Inbox.SyntheticPayloadobject Field Type Required Description textstring Required descriptionstring Optional metadataobject Optional
Session.Inbox.Userobject Session.Inbox.UserPayloadobject Session.Infoobject Session.Message.AgentSelectedobject Session.Message.Assistantobject Session.Message.Assistant.Reasoningobject Field Type Required Description type"reasoning" Required textstring Required nativeSession.Message.Native Optional timeobject Optional
Session.Message.Assistant.Retryobject Session.Message.Assistant.Textobject Session.Message.Assistant.Toolobject Session.Message.AssistantContent.EncodedSession.Message.Assistant.Text | Session.Message.Assistant.Reasoning | Session.Message.Assistant.Tool Session.Message.CompactionSession.Message.Compaction.Running | Session.Message.Compaction.Completed | Session.Message.Compaction.Failed Session.Message.Compaction.Completedobject Session.Message.Compaction.Failedobject Session.Message.Compaction.Runningobject Field Type Required Description type"compaction" Required idSession.Message.ID Required metadataobject Optional timeobject Required status"running" Required reason"auto" | "manual" Required summarystring Required
Session.Message.IDstring Session.Message.Idleobject Session.Message.InfoSession.Message.AgentSelected | Session.Message.ModelSelected | Session.Message.LocationSwitched | Session.Message.User | Session.Message.Synthetic | Session.Message.System | Session.Message.Skill | Session.Message.Shell | Session.Message.Assistant | Session.Message.Compaction | Session.Message.Idle Session.Message.LocationSwitchedobject Session.Message.ModelSelectedobject Session.Message.Nativeobject Session.Message.Shellobject Field Type Required Description idSession.Message.ID Required metadataobject Optional timeobject Required type"shell" Required shellIDShell.ID Required commandstring Required status"running" | "exited" | "timeout" | "killed" Required exitnumber | "Infinity" | "-Infinity" | "NaN" Optional outputobject Optional
Session.Message.Skillobject Session.Message.Syntheticobject Field Type Required Description idSession.Message.ID Required metadataobject Optional timeobject Required textstring Required descriptionstring Optional type"synthetic" Required
Session.Message.Systemobject Field Type Required Description idSession.Message.ID Required metadataobject Optional timeobject Required type"system" Required textstring Required descriptionstring Optional
Session.Message.ToolState.Completedobject Field Type Required Description status"completed" Required inputobject Required contentTool.Content []Required metadataobject Optional
Session.Message.ToolState.Errorobject Session.Message.ToolState.Runningobject Field Type Required Description status"running" Required inputobject Required metadataobject Required
Session.Message.ToolState.Streamingobject Field Type Required Description status"streaming" Required inputstring Required
Session.Message.Userobject Session.Metadataobject Session.Revertobject Session.StructuredErrorobject Field Type Required Description typestring Required messagestring Required statusinteger Optional responseobject Optional retryAfterMsinteger Optional
SessionActiveobject Field Type Required Description type"running" Required
SessionBusyErrorEncodedobject Field Type Required Description _tag"SessionBusyError" Required sessionIDstring Required messagestring Required
SessionGenerateResponseobject Field Type Required Description dataobject Required
SessionInterruptResponseobject Field Type Required Description interruptedboolean Required Whether an active execution owned by this OpenCode process was interrupted.
SessionLogItemSession.Event.Durable | EventLog.Synced SessionLogItemEncodedstring SessionMessagesResponseobject SessionNotFoundErrorEncodedobject Field Type Required Description _tag"SessionNotFoundError" Required sessionIDstring Required messagestring Required
SessionStats.Activityobject Field Type Required Description datestring Required stepsinteger Required
SessionStats.Infoobject SessionStats.ModelUsageobject SessionStats.ToolTotalsobject Field Type Required Description callsinteger Required succeededinteger Required failedinteger Required unfinishedinteger Required
SessionStats.ToolUsageobject Field Type Required Description namestring Required callsinteger Required succeededinteger Required failedinteger Required unfinishedinteger Required durationP50number Optional
SessionStats.Toolsobject | object | object SessionStatusobject | object | object SessionStatusUpdatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.status" Required locationLocation.Ref Optional dataobject Required
SessionTransfer.Dataobject SessionsCursorstring Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response.
string
SessionsResponseobject Field Type Required Description dataSession.Info []Required cursorobject Required
Shell.IDstring Shell.Infoobject Field Type Required Description idShell.ID Required status"running" | "exited" | "timeout" | "killed" Required commandstring Required cwdstring Required shellstring Required filestring Required pidinteger Optional exitnumber Optional signalstring Optional metadataobject Required timeobject Required
ShellNotFoundErrorEncodedobject Field Type Required Description _tag"ShellNotFoundError" Required idstring Required messagestring Required
Skill.IDstring Skill.Infoobject Field Type Required Description idSkill.ID Required nameSkill.Name Required descriptionstring Optional autoinvokeboolean Optional pathAbsolutePath Required contentstring Required
Skill.Namestring SkillNotFoundErrorEncodedobject Field Type Required Description _tag"SkillNotFoundError" Required skillSkill.ID Required messagestring Required
Snapshot.IDstring TokenUsage.Infoobject Field Type Required Description inputnumber Required outputnumber Required reasoningnumber Required cacheobject Required
Tool.ContentTool.TextContent | Tool.FileContent Tool.FileContentobject Field Type Required Description type"file" Required uristring Required mimestring Required namestring | null Optional
Tool.TextContentobject Field Type Required Description type"text" Required textstring Required
UnauthorizedErrorEncodedobject Field Type Required Description _tag"UnauthorizedError" Required messagestring Required
UnknownErrorEncodedobject Field Type Required Description _tag"UnknownError" Required messagestring Required refstring | null Optional
UnsupportedModelErrorEncodedobject Field Type Required Description _tag"UnsupportedModelError" Required providerIDstring Required modelIDstring Required capabilitystring Required messagestring Required
UsageLimits.Budgetobject Field Type Required Description idstring Required limitMoney.USD Required spentMoney.USD Required scope"each" | "combined" Required per"set" | "model" Required coverage"all" | "models" Required modelsUsageLimits.BudgetModel []Required vendorsstring []Required inputPriceAtLeastMoney.USDPerMillionTokens Optional pickedboolean Required sharedboolean Required resetsAtnumber Required Milliseconds since the Unix epoch
UsageLimits.BudgetModelobject Field Type Required Description providerIDProvider.ID Required modelIDstring Required namestring Required spentMoney.USD Optional
UsageLimits.Goobject UsageLimits.Infoobject UsageLimits.Meterobject Field Type Required Description percentnumber Required limitedboolean Required resetsAtnumber Required Milliseconds since the Unix epoch
V2Eventlocation.shutdown | models-dev.refreshed | credential.updated | credential.switched | integration.updated | provider.updated | model.updated | agent.updated | session.created | session.agent.selected | session.model.selected | session.moved | session.renamed | session.metadata.updated | session.permissions | session.viewed | session.archived | session.unarchived | session.usage.updated | session.deleted | session.forked | session.inbox.delivered | session.inbox.enqueued | session.inbox.cancelled | session.inbox.delivery.changed | session.execution.started | session.execution.succeeded | session.execution.failed | session.execution.interrupted | session.instructions.updated | session.synthetic | session.skill.activated | session.shell.started | session.shell.ended | session.step.started | session.step.streamed | session.step.ended | session.step.failed | session.text.started | session.text.delta | session.text.ended | session.reasoning.started | session.reasoning.delta | session.reasoning.ended | session.tool.input.started | session.tool.input.delta | session.tool.input.ended | session.tool.called | session.tool.progress | session.tool.success | session.tool.failed | session.retry.scheduled | session.compaction.started | session.compaction.delta | session.compaction.ended | session.compaction.failed | session.revert.staged | session.revert.cleared | session.revert.committed | filesystem.changed | reference.updated | permission.asked | permission.replied | plugin.updated | project.updated | worktree.updated | worktree.resolved | command.updated | config.updated | skill.updated | pty.created | pty.updated | pty.exited | pty.deleted | persistent-pty.added | persistent-pty.removed | persistent-pty.updated | shell.created | shell.exited | shell.deleted | form.created | form.replied | form.cancelled | websearch.updated | artifact.updated | SessionStatusUpdated | session.idle | tui.prompt.append | tui.command.execute | tui.toast.show | tui.session.select | installation.updated | installation.update-available | vcs.branch.updated | mcp.status.changed | mcp.resources.changed | V2Event.rpc | V2Event.server.connected V2Event.rpcobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject | null Optional typestring Required locationLocation.PublicRef Required dataobject Required
V2Event.server.connectedobject Field Type Required Description idEvent.ID Required metadataobject | null Optional locationLocation.PublicRef | null Optional type"server.connected" Required dataobject Required
V2EventEncodedstring Vcs.Baseobject Field Type Required Description namestring Required refstring Required source"reflog" | "default" Required
Vcs.Branchobject Field Type Required Description currentstring Optional defaultstring Optional
Vcs.BranchListstring[] Vcs.FileStatusobject Field Type Required Description filestring Required additionsinteger Required deletionsinteger Required status"added" | "deleted" | "modified" Required
Vcs.Infoobject Field Type Required Description providerstring Optional branchVcs.Branch Required
Vcs.Mode"working" | "branch" | "committed" "working" | "branch" | "committed"
Vcs.Untracked"files" | "folders" VcsInitNotSupportedErrorEncodedobject Field Type Required Description _tag"VcsInitNotSupportedError" Required providerIDstring Required messagestring Required
VoiceModelobject Field Type Required Description modelstring Required providerstring Required transportsVoiceTransportType []Required availableboolean Required
VoiceModelsResponseobject Field Type Required Description dataobject Required
VoiceSessionResponseobject Field Type Required Description dataobject Required
VoiceTransportVoiceWebRTCTransport | VoiceWebSocketTransport VoiceTransportInputVoiceWebRTCTransportInput | VoiceWebSocketTransportInput VoiceTransportType"webrtc" | "websocket" VoiceWebRTCTransportobject Field Type Required Description type"webrtc" Required sdpstring Required
VoiceWebRTCTransportInputobject Field Type Required Description type"webrtc" Required sdpstring Required dcidnumber | "Infinity" | "-Infinity" | "NaN" | null Optional
VoiceWebSocketTransportobject Field Type Required Description type"websocket" Required urlstring Required tokenstring Required expiresAtnumber | "Infinity" | "-Infinity" | "NaN" Required
VoiceWebSocketTransportInputobject Field Type Required Description type"websocket" Required
WebSearch.IDstring WebSearch.Providerobject Field Type Required Description idWebSearch.ID Required namestring Required
WebSearch.ResponseEncodedobject WebSearch.Resultobject Field Type Required Description urlstring Required titlestring Optional contentstring Optional timeobject Required
Workspace.IDstring Worktree.CreateInputobject Worktree.Directoryobject Field Type Required Description directoryAbsolutePath Required strategystring Optional
Worktree.Infoobject Worktree.ListWorktree.Directory[] Worktree.RemoveInputobject WorktreeErrorEncodedobject Field Type Required Description _tag"WorktreeError" Required name"WorktreeError" Required dataobject Required
agent.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"agent.updated" Required locationLocation.Ref Optional dataobject Required
artifact.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"artifact.updated" Required locationLocation.Ref Optional dataobject Required
command.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"command.updated" Required locationLocation.Ref Optional dataobject Required
config.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"config.updated" Required locationLocation.Ref Optional dataobject Required
credential.switchedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"credential.switched" Required locationLocation.Ref Optional dataobject Required
credential.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"credential.updated" Required locationLocation.Ref Optional dataobject Required
filesystem.changedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"filesystem.changed" Required locationLocation.Ref Optional dataobject Required
form.cancelledobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"form.cancelled" Required locationLocation.Ref Optional dataobject Required
form.createdobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"form.created" Required locationLocation.Ref Optional dataobject Required
form.repliedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"form.replied" Required locationLocation.Ref Optional dataobject Required
installation.update-availableobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"installation.update-available" Required locationLocation.Ref Optional dataobject Required
installation.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"installation.updated" Required locationLocation.Ref Optional dataobject Required
integration.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"integration.updated" Required locationLocation.Ref Optional dataobject Required
location.shutdownobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"location.shutdown" Required locationLocation.Ref Optional dataobject Required
mcp.resources.changedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"mcp.resources.changed" Required locationLocation.Ref Optional dataobject Required
mcp.status.changedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"mcp.status.changed" Required locationLocation.Ref Optional dataobject Required
model.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"model.updated" Required locationLocation.Ref Optional dataobject Required
models-dev.refreshedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"models-dev.refreshed" Required locationLocation.Ref Optional dataobject Required
permission.askedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"permission.asked" Required locationLocation.Ref Optional dataobject Required
permission.repliedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"permission.replied" Required locationLocation.Ref Optional dataobject Required
persistent-pty.addedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"persistent-pty.added" Required locationLocation.Ref Optional dataobject Required
persistent-pty.removedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"persistent-pty.removed" Required locationLocation.Ref Optional dataobject Required
persistent-pty.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"persistent-pty.updated" Required locationLocation.Ref Optional dataobject Required
plugin.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"plugin.updated" Required locationLocation.Ref Optional dataobject Required
project.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"project.updated" Required locationLocation.Ref Optional dataobject Required
provider.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"provider.updated" Required locationLocation.Ref Optional dataobject Required
pty.createdobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"pty.created" Required locationLocation.Ref Optional dataobject Required
pty.deletedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"pty.deleted" Required locationLocation.Ref Optional dataobject Required
pty.exitedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"pty.exited" Required locationLocation.Ref Optional dataobject Required
pty.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"pty.updated" Required locationLocation.Ref Optional dataobject Required
reference.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"reference.updated" Required locationLocation.Ref Optional dataobject Required
session.agent.selectedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.agent.selected" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.archivedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.archived" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.compaction.deltaobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.compaction.delta" Required locationLocation.Ref Optional dataobject Required
session.compaction.endedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.compaction.ended" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.compaction.failedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.compaction.failed" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.compaction.startedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.compaction.started" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.createdobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.created" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.deletedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.deleted" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.execution.failedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.execution.failed" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.execution.interruptedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.execution.interrupted" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.execution.startedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.execution.started" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.execution.succeededobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.execution.succeeded" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.forkedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.forked" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.idleobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.idle" Required locationLocation.Ref Optional dataobject Required
session.inbox.cancelledobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.inbox.cancelled" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.inbox.deliveredobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.inbox.delivered" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.inbox.delivery.changedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.inbox.delivery.changed" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.inbox.enqueuedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.inbox.enqueued" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.instructions.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.instructions.updated" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.message.content.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.message.content.updated" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.metadata.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.metadata.updated" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.model.selectedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.model.selected" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.movedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.moved" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.permissionsobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.permissions" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.reasoning.deltaobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.reasoning.delta" Required locationLocation.Ref Optional dataobject Required
session.reasoning.endedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.reasoning.ended" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.reasoning.startedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.reasoning.started" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.renamedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.renamed" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.retry.scheduledobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.retry.scheduled" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.revert.clearedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.revert.cleared" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.revert.committedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.revert.committed" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.revert.stagedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.revert.staged" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.shell.endedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.shell.ended" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.shell.startedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.shell.started" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.skill.activatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.skill.activated" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.step.endedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.step.ended" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.step.failedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.step.failed" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.step.startedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.step.started" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.step.streamedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.step.streamed" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.syntheticobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.synthetic" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.text.deltaobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.text.delta" Required locationLocation.Ref Optional dataobject Required
session.text.endedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.text.ended" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.text.startedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.text.started" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.tool.calledobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.tool.called" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.tool.failedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.tool.failed" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.tool.input.deltaobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.tool.input.delta" Required locationLocation.Ref Optional dataobject Required
session.tool.input.endedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.tool.input.ended" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.tool.input.startedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.tool.input.started" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.tool.progressobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.tool.progress" Required locationLocation.Ref Optional dataobject Required
session.tool.successobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.tool.success" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.unarchivedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.unarchived" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.usage.recordedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.usage.recorded" Required durableobject Required locationLocation.Ref Optional dataobject Required
session.usage.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.usage.updated" Required locationLocation.Ref Optional dataobject Required
session.viewedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"session.viewed" Required durableobject Required locationLocation.Ref Optional dataobject Required
shell.createdobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"shell.created" Required locationLocation.Ref Optional dataobject Required
shell.deletedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"shell.deleted" Required locationLocation.Ref Optional dataobject Required
shell.exitedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"shell.exited" Required locationLocation.Ref Optional dataobject Required
skill.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"skill.updated" Required locationLocation.Ref Optional dataobject Required
tui.command.executeobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"tui.command.execute" Required locationLocation.Ref Optional dataobject Required
tui.prompt.appendobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"tui.prompt.append" Required locationLocation.Ref Optional dataobject Required
tui.session.selectobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"tui.session.select" Required locationLocation.Ref Optional dataobject Required
tui.toast.showobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"tui.toast.show" Required locationLocation.Ref Optional dataobject Required
vcs.branch.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"vcs.branch.updated" Required locationLocation.Ref Optional dataobject Required
websearch.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"websearch.updated" Required locationLocation.Ref Optional dataobject Required
worktree.resolvedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"worktree.resolved" Required durableobject Required locationLocation.Ref Optional dataobject Required
worktree.updatedobject Field Type Required Description idEvent.ID Required creatednumber Required metadataobject Optional type"worktree.updated" Required locationLocation.Ref Optional dataobject Required