OpenCode — API
opencode api
What it covers
- Session 27 Experimental HttpApi session routes.
- Sessions 17 Experimental session routes.
- Pty 15 PTY websocket route.
- Experimental 13 Experimental HttpApi read-only routes.
- Tui 13 Experimental HttpApi TUI routes.
- Instance 12 Experimental HttpApi instance read routes.
- Mcp 8 Experimental HttpApi MCP routes.
- Integrations 7 Integration discovery and authentication routes.
- Permissions 7 Experimental permission routes.
- Workspace 7 Experimental HttpApi workspace routes.
- File 6 Experimental HttpApi file routes.
- Global 6 Global server routes.
20 more areas
- Opencode Httpapi 5 Experimental HttpApi surface for selected instance routes.
- Project 5 Experimental HttpApi project routes.
- Projectcopy 4 Project copy management routes.
- Provider 4 Experimental HttpApi provider routes.
- Session Questions 4 Experimental session question routes.
- Sync 4 Experimental HttpApi sync routes.
- Config 3 Experimental HttpApi config routes.
- Control 3 Control plane routes.
- Filesystem 3 Experimental location-scoped filesystem routes.
- Question 3 Question routes.
- Permission 2 Experimental HttpApi permission routes.
- Providers 2 Experimental provider routes.
- Commands 1 Experimental command routes.
- Controlplane 1 Control-plane orchestration routes.
- Event 1 Instance event stream route.
- Events 1 Experimental event stream route.
- Messages 1 Experimental message routes.
- Models 1 Experimental model routes.
- Reference 1 Location-scoped project references.
- Skills 1 Experimental skill routes.
Endpoints
Open an endpoint for its inputs and outputs.
Session 27
-
DELETE
/session/{sessionID}Delete sessionLoading… -
DELETE
/session/{sessionID}/message/{messageID}Delete messageLoading… -
DELETE
/session/{sessionID}/message/{messageID}/part/{partID}Delete a part from a message.Loading… -
DELETE
/session/{sessionID}/shareUnshare sessionLoading… -
GET
/sessionList sessionsLoading… -
GET
/session/statusGet session statusLoading… -
GET
/session/{sessionID}Get sessionLoading… -
GET
/session/{sessionID}/childrenGet session childrenLoading… -
GET
/session/{sessionID}/diffGet message diffLoading… -
GET
/session/{sessionID}/messageGet session messagesLoading… -
GET
/session/{sessionID}/message/{messageID}Get messageLoading… -
GET
/session/{sessionID}/todoGet session todosLoading… -
PATCH
/session/{sessionID}Update sessionLoading… -
PATCH
/session/{sessionID}/message/{messageID}/part/{partID}Update a part in a message.Loading… -
POST
/sessionCreate sessionLoading… -
POST
/session/{sessionID}/abortAbort sessionLoading… -
POST
/session/{sessionID}/commandSend commandLoading… -
POST
/session/{sessionID}/forkFork sessionLoading… -
POST
/session/{sessionID}/initInitialize sessionLoading… -
POST
/session/{sessionID}/messageSend messageLoading… -
POST
/session/{sessionID}/permissions/{permissionID}Respond to permissiondeprecatedLoading… -
POST
/session/{sessionID}/prompt_asyncSend async messageLoading… -
POST
/session/{sessionID}/revertRevert messageLoading… -
POST
/session/{sessionID}/shareShare sessionLoading… -
POST
/session/{sessionID}/shellRun shell commandLoading… -
POST
/session/{sessionID}/summarizeSummarize sessionLoading… -
POST
/session/{sessionID}/unrevertRestore reverted messagesLoading…
Sessions 17
-
GET
/api/sessionList sessionsLoading… -
GET
/api/session/activeList active sessionsLoading… -
GET
/api/session/{sessionID}Get sessionLoading… -
GET
/api/session/{sessionID}/contextGet session contextLoading… -
GET
/api/session/{sessionID}/eventSubscribe to session eventsLoading… -
GET
/api/session/{sessionID}/historyGet session historyLoading… -
GET
/api/session/{sessionID}/message/{messageID}Get session messageLoading… -
POST
/api/sessionCreate sessionLoading… -
POST
/api/session/{sessionID}/agentSwitch session agentLoading… -
POST
/api/session/{sessionID}/compactCompact sessionLoading… -
POST
/api/session/{sessionID}/interruptInterrupt session executionLoading… -
POST
/api/session/{sessionID}/modelSwitch session modelLoading… -
POST
/api/session/{sessionID}/promptSend messageLoading… -
POST
/api/session/{sessionID}/revert/clearClear staged revertLoading… -
POST
/api/session/{sessionID}/revert/commitCommit staged revertLoading… -
POST
/api/session/{sessionID}/revert/stageStage session revertLoading… -
POST
/api/session/{sessionID}/waitWait for sessionLoading…
Pty 15
-
DELETE
/api/pty/{ptyID}Remove PTY sessionLoading… -
DELETE
/pty/{ptyID}Remove PTY sessionLoading… -
GET
/api/ptyList PTY sessionsLoading… -
GET
/api/pty/{ptyID}Get PTY sessionLoading… -
GET
/api/pty/{ptyID}/connectConnect to PTY sessionLoading… -
GET
/ptyList PTY sessionsLoading… -
GET
/pty/shellsList available shellsLoading… -
GET
/pty/{ptyID}Get PTY sessionLoading… -
GET
/pty/{ptyID}/connectConnect to PTY sessionLoading… -
POST
/api/ptyCreate PTY sessionLoading… -
POST
/api/pty/{ptyID}/connect-tokenCreate PTY WebSocket tokenLoading… -
POST
/ptyCreate PTY sessionLoading… -
POST
/pty/{ptyID}/connect-tokenCreate PTY WebSocket tokenLoading… -
PUT
/api/pty/{ptyID}Update PTY sessionLoading… -
PUT
/pty/{ptyID}Update PTY sessionLoading…
Experimental 13
-
DELETE
/experimental/worktreeRemove worktreeLoading… -
GET
/experimental/capabilitiesGet experimental capabilitiesLoading… -
GET
/experimental/consoleGet active Console provider metadataLoading… -
GET
/experimental/console/orgsList switchable Console orgsLoading… -
GET
/experimental/resourceGet MCP resourcesLoading… -
GET
/experimental/sessionList sessionsLoading… -
GET
/experimental/toolList toolsLoading… -
GET
/experimental/tool/idsList tool IDsLoading… -
GET
/experimental/worktreeList worktreesLoading… -
POST
/experimental/console/switchSwitch active Console orgLoading… -
POST
/experimental/session/{sessionID}/backgroundBackground subagentsLoading… -
POST
/experimental/worktreeCreate worktreeLoading… -
POST
/experimental/worktree/resetReset worktreeLoading…
Tui 13
-
GET
/tui/control/nextGet next TUI requestLoading… -
POST
/tui/append-promptAppend TUI promptLoading… -
POST
/tui/clear-promptClear TUI promptLoading… -
POST
/tui/control/responseSubmit TUI responseLoading… -
POST
/tui/execute-commandExecute TUI commandLoading… -
POST
/tui/open-helpOpen help dialogLoading… -
POST
/tui/open-modelsOpen models dialogLoading… -
POST
/tui/open-sessionsOpen sessions dialogLoading… -
POST
/tui/open-themesOpen themes dialogLoading… -
POST
/tui/publishPublish TUI eventLoading… -
POST
/tui/select-sessionSelect sessionLoading… -
POST
/tui/show-toastShow TUI toastLoading… -
POST
/tui/submit-promptSubmit TUI promptLoading…
Instance 12
-
GET
/agentList agentsLoading… -
GET
/commandList commandsLoading… -
GET
/formatterGet formatter statusLoading… -
GET
/lspGet LSP statusLoading… -
GET
/pathGet pathsLoading… -
GET
/skillList skillsLoading… -
GET
/vcsGet VCS infoLoading… -
GET
/vcs/diffGet VCS diffLoading… -
GET
/vcs/diff/rawGet raw VCS diffLoading… -
GET
/vcs/statusGet VCS statusLoading… -
POST
/instance/disposeDispose instanceLoading… -
POST
/vcs/applyApply VCS patchLoading…
Mcp 8
-
DELETE
/mcp/{name}/authRemove MCP OAuthLoading… -
GET
/mcpGet MCP statusLoading… -
POST
/mcpAdd MCP serverLoading… -
POST
/mcp/{name}/authStart MCP OAuthLoading… -
POST
/mcp/{name}/auth/authenticateAuthenticate MCP OAuthLoading… -
POST
/mcp/{name}/auth/callbackComplete MCP OAuthLoading… -
POST
/mcp/{name}/connectConnect an MCP server.Loading… -
POST
/mcp/{name}/disconnectDisconnect an MCP server.Loading…
Integrations 7
-
DELETE
/api/integration/attempt/{attemptID}Cancel OAuth connectionLoading… -
GET
/api/integrationList integrationsLoading… -
GET
/api/integration/attempt/{attemptID}Get OAuth attempt statusLoading… -
GET
/api/integration/{integrationID}Get integrationLoading… -
POST
/api/integration/attempt/{attemptID}/completeComplete OAuth connectionLoading… -
POST
/api/integration/{integrationID}/connect/keyConnect with keyLoading… -
POST
/api/integration/{integrationID}/connect/oauthBegin OAuth connectionLoading…
Permissions 7
-
DELETE
/api/permission/saved/{id}Remove saved permissionLoading… -
GET
/api/permission/requestList pending permission requestsLoading… -
GET
/api/permission/savedList saved permissionsLoading… -
GET
/api/session/{sessionID}/permissionList session permission requestsLoading… -
GET
/api/session/{sessionID}/permission/{requestID}Get permission requestLoading… -
POST
/api/session/{sessionID}/permissionCreate permission requestLoading… -
POST
/api/session/{sessionID}/permission/{requestID}/replyReply to pending permission requestLoading…
Workspace 7
-
DELETE
/experimental/workspace/{id}Remove workspaceLoading… -
GET
/experimental/workspaceList workspacesLoading… -
GET
/experimental/workspace/adapterList workspace adaptersLoading… -
GET
/experimental/workspace/statusWorkspace statusLoading… -
POST
/experimental/workspaceCreate workspaceLoading… -
POST
/experimental/workspace/sync-listSync workspace listLoading… -
POST
/experimental/workspace/warpWarp session into workspaceLoading…
File 6
-
GET
/fileList filesLoading… -
GET
/file/contentRead fileLoading… -
GET
/file/statusGet file statusLoading… -
GET
/findFind textLoading… -
GET
/find/fileFind filesLoading… -
GET
/find/symbolFind symbolsLoading…
Global 6
-
GET
/global/configGet global configurationLoading… -
GET
/global/eventGet global eventsLoading… -
GET
/global/healthGet healthLoading… -
PATCH
/global/configUpdate global configurationLoading… -
POST
/global/disposeDispose instanceLoading… -
POST
/global/upgradeUpgrade opencodeLoading…
Opencode Httpapi 5
-
DELETE
/api/credential/{credentialID}Remove credentialLoading… -
GET
/api/agentList agentsLoading… -
GET
/api/healthCheck server healthLoading… -
GET
/api/locationGet locationLoading… -
PATCH
/api/credential/{credentialID}Update credentialLoading…
Project 5
-
GET
/projectList all projectsLoading… -
GET
/project/currentGet current projectLoading… -
GET
/project/{projectID}/directoriesList project directoriesLoading… -
PATCH
/project/{projectID}Update projectLoading… -
POST
/project/git/initInitialize git repositoryLoading…
Projectcopy 4
-
DELETE
/experimental/project/{projectID}/copyLoading… -
POST
/experimental/project/{projectID}/copyLoading… -
POST
/experimental/project/{projectID}/copy/generate-nameGenerate project copy nameLoading… -
POST
/experimental/project/{projectID}/copy/refreshLoading…
Provider 4
-
GET
/providerList providersLoading… -
GET
/provider/authGet provider auth methodsLoading… -
POST
/provider/{providerID}/oauth/authorizeStart OAuth authorizationLoading… -
POST
/provider/{providerID}/oauth/callbackHandle OAuth callbackLoading…
Session Questions 4
-
GET
/api/question/requestList pending question requestsLoading… -
GET
/api/session/{sessionID}/questionList session question requestsLoading… -
POST
/api/session/{sessionID}/question/{requestID}/rejectReject pending question requestLoading… -
POST
/api/session/{sessionID}/question/{requestID}/replyReply to pending question requestLoading…
Sync 4
-
POST
/sync/historyList sync eventsLoading… -
POST
/sync/replayReplay sync eventsLoading… -
POST
/sync/startStart workspace syncLoading… -
POST
/sync/stealSteal session into workspaceLoading…
Config 3
-
GET
/configGet configurationLoading… -
GET
/config/providersList config providersLoading… -
PATCH
/configUpdate configurationLoading…
Control 3
-
DELETE
/auth/{providerID}Remove auth credentialsLoading… -
POST
/logWrite logLoading… -
PUT
/auth/{providerID}Set auth credentialsLoading…
Filesystem 3
-
GET
/api/fs/findFind filesLoading… -
GET
/api/fs/listList directoryLoading… -
GET
/api/fs/read/*Read fileLoading…
Question 3
-
GET
/questionList pending questionsLoading… -
POST
/question/{requestID}/rejectReject question requestLoading… -
POST
/question/{requestID}/replyReply to question requestLoading…
Permission 2
-
GET
/permissionList pending permissionsLoading… -
POST
/permission/{requestID}/replyRespond to permission requestLoading…
Providers 2
-
GET
/api/providerList providersLoading… -
GET
/api/provider/{providerID}Get providerLoading…
Commands 1
-
GET
/api/commandList commandsLoading…
Controlplane 1
-
POST
/experimental/control-plane/move-sessionMove sessionLoading…
Event 1
-
GET
/eventSubscribe to eventsLoading…
Events 1
-
GET
/api/eventSubscribe to eventsLoading…
Messages 1
-
GET
/api/session/{sessionID}/messageGet session messagesLoading…
Models 1
-
GET
/api/modelList modelsLoading…
Reference 1
-
GET
/api/referenceList referencesLoading…
Skills 1
-
GET
/api/skillList skillsLoading…
Recent changes
- ⚠ POST /session/{sessionID}/permissions/{permissionID}