Docs assistant

Searches these docs locally; a configured answer service can generate responses.

Ask about this page or the wider Carina docs. Try: “How do I roll back a patch?”

llms.txt

Skip to content

Markdown

Method catalog

Protocol-driven JSON-RPC method catalog synced from protocol/jsonrpc/methods.json.

Machine-generated from the authoritative daemon registry. Prefer this page when you need the full method list; narrative guides live under Overview and JSON-RPC reference.

Use the header Version control for 0.8.x / next (channel model). Sticky filter, scope chips, and group jump sit above the registry. Expand a method for samples and the playground. Live requests use the authenticated WebSocket Gateway (gateway.hello first); methods not marked remote remain Mock/local-CLI only.

Protocol 1.7.0· 169 methods· protocol/jsonrpc/methods.json· channel 0.8.x

Showing 169 methods

Runtime4

#runtime.initializereadremote

Params

FieldType
protocol_versionsemver?
schema_versionsemver? compatible major
projection_versionsemver? exact reducer match
client_namestring?
client_versionsemver?
expected_workspace_idstring?
expected_runtime_idstring?
expected_epochstring?

Result

RuntimeInitializeResult

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "runtime.initialize",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#runtime.describeread

Params

{}

Result

RuntimeDescription

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "runtime.describe",
  "params": {}
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#runtime.capabilitiesreadremote

Params

{}

Result

{ runtime_version: semver, protocol_version: semver, capabilities: object }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "runtime.capabilities",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#runtime.registry_schemareadremote

Params

{}

Result

JSON Schema Draft 2020-12

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "runtime.registry_schema",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Gateway4

#gateway.helloreadremote

Params

FieldType
protocol_versionnumber?
client_idstring?
roleoperator|observer|worker|node?
scopesScope[]?
tokenstring?

Result

GatewayHello

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "gateway.hello",
  "params": {
    "protocol_version": 1,
    "scopes": []
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#gateway.methodsreadremote

Params

{}

Result

{ version: string, methods: MethodDescriptor[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "gateway.methods",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#gateway.resolve_scoperead

Params

FieldType
methodstring
paramsobject?

Result

{ method: string, scope: Scope, dynamic_scope: boolean }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "gateway.resolve_scope",
  "params": {
    "method": "<method>"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#gateway.token.issueadmincontrol-plane

Params

FieldType
subjectstring?
roleoperator|observer|worker|node?
scopesScope[]
routesstring[]?
ttl_secondsnumber?
transportws|http|plugin?

Result

{ token: string, claims: GatewayTokenClaims }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "gateway.token.issue",
  "params": {
    "scopes": [],
    "routes": [],
    "ttl_seconds": 1
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

Daemon6

#daemon.statusreadremote

Params

{}

Result

DaemonStatus

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "daemon.status",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#daemon.metricsreadremote

Params

{}

Result

DaemonMetrics

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "daemon.metrics",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#daemon.doctorreadremote

Params

{}

Result

DoctorReport

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "daemon.doctor",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#daemon.remote.disableadmincontrol-plane

Params

FieldType
onboolean

Result

{ remote_disabled: boolean }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "daemon.remote.disable",
  "params": {
    "on": true
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#daemon.reloadadmincontrol-plane

Params

{}

Result

{ reloaded: boolean }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "daemon.reload",
  "params": {}
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#daemon.set_interactive_approvalwritecontrol-plane

Params

FieldType
onboolean?
modeask|always-approve|dont-ask|accept-edits?
session_idstring?

Result

{ interactive_approval: boolean, approval_mode: ask|always-approve|dont-ask|accept-edits, previous_mode: string, disable_always_approve: boolean, warning: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "daemon.set_interactive_approval",
  "params": {
    "on": true,
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Usage1

#usage.costreadremote

Params

FieldType
session_idstring?
task_idstring?

Result

UsageCostReport

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "usage.cost",
  "params": {
    "session_id": "sess_01J...",
    "task_id": "Summarize module boundaries"
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Model1

#model.listreadremote

Params

FieldType
session_idstring?
model_idstring?
localestring?

Result

{ default_model: string, providers: ModelProvider[], reasoner: ModelReasoner, readiness: { step, blockers[], route_kind, model_id, locale, can_submit, epoch, generation } }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "model.list",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Agent8

#agent.listreadremote

Params

FieldType
session_idstring?
workspace_rootstring?
include_hiddenboolean?

Result

{ agents: Agent[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.list",
  "params": {
    "session_id": "sess_01J...",
    "workspace_root": "/repo",
    "include_hidden": true
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#agent.viewreadremote

Params

{}

Result

{ needs_input: AgentViewEntry[], working: AgentViewEntry[], completed: AgentViewEntry[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.view",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#agent.peekreadremote

Params

FieldType
task_idstring

Result

AgentViewEntry

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.peek",
  "params": {
    "task_id": "Summarize module boundaries"
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#agent.recapreadremote

Params

FieldType
task_idstring

Result

{ agent: AgentViewEntry, recent_events: Event[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.recap",
  "params": {
    "task_id": "Summarize module boundaries"
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#agent.dispatchwritecontrol-plane

Params

FieldType
workspace_rootstring
promptstring
profilestring?
approval_modestring?
agentstring?
modelstring?
isolateboolean?
base_refstring?
branchstring?
titlestring?

Result

{ session: Session, task: Task, worktree_id: string? }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.dispatch",
  "params": {
    "workspace_root": "/repo",
    "prompt": "Summarize module boundaries",
    "profile": "safe-edit",
    "isolate": true
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#agent.stopwrite

Params

FieldType
task_idstring

Result

Task

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.stop",
  "params": {
    "task_id": "Summarize module boundaries"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#agent.removewrite

Params

FieldType
task_idstring

Result

{ removed: boolean, task_id: string, session_id: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.remove",
  "params": {
    "task_id": "Summarize module boundaries"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#agent.metadata.setwrite

Params

FieldType
session_idstring
titlestring?
pull_requeststring?
branchstring?
worktree_idstring?

Result

AgentViewMetadata

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "agent.metadata.set",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Session23

#session.createwrite

Params

FieldType
workspace_rootstring
profilestring?
approval_modestring?

Result

Session

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.create",
  "params": {
    "workspace_root": "/repo",
    "profile": "safe-edit"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.getreadremote

Params

FieldType
session_idstring

Result

Session

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.get",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#session.listreadremote

Params

FieldType
archivedboolean? (false active/non-closed only; true closed only; omitted all)

Result

Session[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.list",
  "params": {
    "archived": true
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#session.renamewrite

Params

FieldType
session_idstring
namestring 1..80

Result

Session

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.rename",
  "params": {
    "session_id": "sess_01J...",
    "name": "<name>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.archivewrite

Params

FieldType
session_idstring

Result

Session(status=closed); rejects every non-terminal task

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.archive",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.unarchivewrite

Params

FieldType
session_idstring

Result

Session(status=active)

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.unarchive",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.pausewrite

Params

FieldType
session_idstring

Result

Session

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.pause",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.resumewrite

Params

FieldType
session_idstring

Result

Session

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.resume",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.closewrite

Params

FieldType
session_idstring

Result

Session

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.close",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.replayreadremote

Params

FieldType
session_idstring

Result

Event[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.replay",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#session.itemsreadremote

Params

FieldType
session_idstring
cursorsigned opaque exclusive cursor?
limitinteger 1..200?

Result

SessionItemEvent[] when pagination omitted; otherwise { data: SessionItemEvent[], next_cursor: string?, projection_version: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.items",
  "params": {
    "session_id": "sess_01J...",
    "limit": 1
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#conversation.import.discoverread

Params

FieldType
sources(claude-code|codex)[]?
source_rootstring?
workspace_rootstring?
all_workspacesboolean?

Result

{ conversations: ImportCandidate[], warnings: string[], copy_semantics: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "conversation.import.discover",
  "params": {
    "sources": [],
    "source_root": "/repo",
    "workspace_root": "/repo",
    "all_workspaces": true
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#conversation.import.applywrite

Params

FieldType
selections{ source, source_root?, path, conversation_id, target_workspace? }[]

Result

{ results: ImportReceipt[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "conversation.import.apply",
  "params": {
    "selections": []
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.reviewreadremote

Params

FieldType
session_idstring

Result

SessionReview

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.review",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#session.attachreadremote

Params

FieldType
session_idstring
sincenumber?
event_modecompat|canonical? (default compat)

Result

{ events: Event[], from: number, cursor: number, event_mode: compat|canonical }; cursor always advances over raw audit positions

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.attach",
  "params": {
    "session_id": "sess_01J...",
    "since": 1
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#session.forkwrite

Params

FieldType
session_idstring
last_task_idstring?
through_turninteger? >= 1
before_firstboolean?
client_fork_idASCII token? 1-128

Result

Source-preserving Session with fork lineage; client_fork_id retries are idempotent

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.fork",
  "params": {
    "session_id": "sess_01J...",
    "last_task_id": "Summarize module boundaries",
    "through_turn": 1,
    "before_first": true
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.plan_modewrite

Params

FieldType
session_idstring
onboolean

Result

{ session_id: string, plan_mode: boolean }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.plan_mode",
  "params": {
    "session_id": "sess_01J...",
    "on": true
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.model.getread

Params

FieldType
session_idstring

Result

{ session_id: string, next_model: string, next_reasoning_effort: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.model.get",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#session.model.setwritecontrol-plane

Params

FieldType
session_idstring
modelstring
reasoning_effortstring?

Result

{ session_id: string, next_model: string, next_reasoning_effort: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.model.set",
  "params": {
    "session_id": "sess_01J...",
    "model": "<model>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.approve_planwrite

Params

FieldType
session_idstring
run_idstring? (expected latest completed typed Plan run)

Result

{ session_id: string, plan_mode: false, approved: true, task: Task? }; a matching completed plan queues exactly one build task; omitted run_id preserves compatibility

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.approve_plan",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.add_diradmincontrol-plane

Params

FieldType
session_idstring
pathstring

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.add_dir",
  "params": {
    "session_id": "sess_01J...",
    "path": "/repo"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#session.events.streamstreamremote

Params

FieldType
session_idstring
sinceinteger? >= 0
event_modecompat|canonical? (default compat)

Result

{ subscription_id: string, cursor: integer, replayed: integer, event_mode: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.events.stream",
  "params": {
    "session_id": "sess_01J...",
    "since": 1
  }
}

Playground

stream

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#session.events.unsubscribestreamremote

Params

FieldType
subscription_idstring

Result

{ unsubscribed: boolean }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.events.unsubscribe",
  "params": {
    "subscription_id": "<subscription_id>"
  }
}

Playground

stream

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Checkpoint5

#session.checkpoint.listread

Params

FieldType
session_idstring

Result

Checkpoint[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.checkpoint.list",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#session.checkpoint.previewread

Params

FieldType
session_idstring
checkpoint_idstring

Result

CheckpointPreview

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.checkpoint.preview",
  "params": {
    "session_id": "sess_01J...",
    "checkpoint_id": "<checkpoint_id>"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#session.checkpoint.summarizeread

Params

FieldType
session_idstring
checkpoint_idstring

Result

CheckpointSummary

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.checkpoint.summarize",
  "params": {
    "session_id": "sess_01J...",
    "checkpoint_id": "<checkpoint_id>"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#session.checkpoint.restorewritecontrol-plane

Params

FieldType
session_idstring
checkpoint_idstring
confirmedboolean

Result

CheckpointRestoreResult

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.checkpoint.restore",
  "params": {
    "session_id": "sess_01J...",
    "checkpoint_id": "<checkpoint_id>",
    "confirmed": true
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#session.checkpoint.compactwritecontrol-plane

Params

FieldType
session_idstring
task_idstring? (paused task; defaults to latest paused task)

Result

CheckpointCompactResult

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "session.checkpoint.compact",
  "params": {
    "session_id": "sess_01J...",
    "task_id": "Summarize module boundaries"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Execution13

#execution.startwrite

Params

FieldType
session_idstring
promptstring
client_submission_idstring?
agentstring?
modelstring?
reasoning_effortstring?
localeen|zh|zh-Hant|ja|ko|es|fr?
token_budgetinteger >= 0?
modebackground?
success_criteriaSuccessCheck[]?
output_schemaJSON Schema Draft 2020-12 object?
input_media_refsMediaRef[]? max 4

Result

ExecutionRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.start",
  "params": {
    "session_id": "sess_01J...",
    "prompt": "Summarize module boundaries",
    "token_budget": 1,
    "success_criteria": [],
    "input_media_refs": []
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#execution.retrywrite

Params

FieldType
run_idstring
client_submission_idASCII token 1-128
routingoriginal|current? (default original)
current_modelstring? (required from current-route clients)
current_reasoning_effortstring?

Result

ExecutionRun with retry_of_run_id; original run remains terminal

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.retry",
  "params": {
    "run_id": "<run_id>",
    "client_submission_id": "<client_submission_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#execution.resumewritecontrol-plane

Params

FieldType
run_idstring

Result

ExecutionRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.resume",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#execution.statusreadremote

Params

FieldType
run_idstring

Result

ExecutionRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.status",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#execution.listreadremote

Params

FieldType
session_idstring?

Result

ExecutionRun[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.list",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#execution.resultreadremote

Params

FieldType
run_idstring

Result

ExecutionRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.result",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#execution.cancelwrite

Params

FieldType
run_idstring

Result

ExecutionRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.cancel",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#execution.interruptwrite

Params

FieldType
run_idstring
modesoft?

Result

{ requested: boolean, already_requested: boolean, run_id: string, mode: soft, safe_point: next_turn_boundary, active_tool: boolean, queue_depth: integer }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.interrupt",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#execution.steerwrite

Params

FieldType
run_idstring
messagestring
prioritynormal|urgent?
steer_idstring?

Result

{ queued: boolean, run_id: string, status: string, priority: string, steer_id: string, queue_depth: integer, safe_point: next_turn_boundary }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.steer",
  "params": {
    "run_id": "<run_id>",
    "message": "<message>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#execution.queue.listread

Params

FieldType
run_idstring
preview_cellsinteger > 0?

Result

{ run_id: string, queue_depth: integer, soft_interrupt_pending: boolean, items: { steer_id: string, priority: string, preview: string, index: integer }[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.queue.list",
  "params": {
    "run_id": "<run_id>",
    "preview_cells": 1
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#execution.queue.dropwrite

Params

FieldType
run_idstring
steer_idstring

Result

{ run_id: string, steer_id: string, dropped: boolean, queue_depth: integer }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.queue.drop",
  "params": {
    "run_id": "<run_id>",
    "steer_id": "<steer_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#execution.budget.extendadmincontrol-plane

Params

FieldType
run_idstring
additional_tokensinteger > 0
approverstring?

Result

ExecutionRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.budget.extend",
  "params": {
    "run_id": "<run_id>",
    "additional_tokens": 1
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#execution.btwwrite

Params

FieldType
run_idstring
questionstring

Result

{ answer: string, ephemeral: true }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "execution.btw",
  "params": {
    "run_id": "<run_id>",
    "question": "<question>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Governance3

#governance.action.approveadmincontrol-plane

Params

FieldType
session_idstring
decision_idstring
approverstring?
rolestring?
scopeonce|session|project?

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "governance.action.approve",
  "params": {
    "session_id": "sess_01J...",
    "decision_id": "<decision_id>"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#governance.action.denyadmincontrol-plane

Params

FieldType
session_idstring
decision_idstring
approverstring?
reasonstring

Result

PermissionDecision

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "governance.action.deny",
  "params": {
    "session_id": "sess_01J...",
    "decision_id": "<decision_id>",
    "reason": "<reason>"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#governance.approval.resolveadmincontrol-plane

Params

FieldType
decision_idstring
approveboolean
approverstring?
scopeonce|session|project?

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "governance.approval.resolve",
  "params": {
    "decision_id": "<decision_id>",
    "approve": true
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

Question2

#question.answerwrite

Params

FieldType
question_idstring
valuestring

Result

{ question_id: string, accepted: boolean, value: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "question.answer",
  "params": {
    "question_id": "<question_id>",
    "value": "<value>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#question.pendingread

Params

{}

Result

{ question_ids: string[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "question.pending",
  "params": {}
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

History1

#history.recentread

Params

FieldType
limitnumber?
scopesession|workspace|global?
session_idstring? (required for session/workspace scope)

Result

{ entries: string[], count: number, scope: session|workspace|global }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "history.recent",
  "params": {
    "limit": 1,
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

Memory12

#memory.readread

Params

FieldType
session_idstring
targetmemory|user?

Result

MemoryRevisionRead

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.read",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#memory.listread

Params

FieldType
session_idstring
targetmemory|user?

Result

MemoryState

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.list",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#memory.contextread

Params

FieldType
session_idstring

Result

{ scope: MemoryScope, context: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.context",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#memory.statusread

Params

FieldType
session_idstring?

Result

MemoryStatus

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.status",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#memory.writewritecontrol-plane

Params

FieldType
version1?
session_idstring
targetmemory|user?
actionadd|replace|remove|batch
contentstring?
old_textstring?
operationsMemoryOperation[]?
expected_revisionstring?
idempotency_keystring?

Result

MemoryRevisionWrite

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.write",
  "params": {
    "session_id": "sess_01J...",
    "action": "<action>",
    "operations": []
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#memory.handoffwritecontrol-plane

Params

FieldType
source_session_idstring
target_session_idstring
targetmemory|user
expected_revisionstring?
idempotency_keystring

Result

MemoryRevisionWrite|PermissionDecision

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.handoff",
  "params": {
    "source_session_id": "sess_01J...",
    "target_session_id": "sess_01J...",
    "target": "<target>",
    "idempotency_key": "<idempotency_key>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#memory.rollbackwritecontrol-plane

Params

FieldType
session_idstring
targetmemory|user
revisionstring
expected_revisionstring
idempotency_keystring

Result

MemoryRevisionWrite

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.rollback",
  "params": {
    "session_id": "sess_01J...",
    "target": "<target>",
    "revision": "<revision>",
    "expected_revision": "<expected_revision>",
    "idempotency_key": "<idempotency_key>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#memory.verifyread

Params

FieldType
session_idstring
targetmemory|user
revisionstring?

Result

MemoryVerificationProof

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.verify",
  "params": {
    "session_id": "sess_01J...",
    "target": "<target>"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#memory.projection.authorizeadmincontrol-plane

Params

FieldType
session_idstring

Result

{ projections: MemoryProjectionWriteResult[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.projection.authorize",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#memory.projection.reseedadmincontrol-plane

Params

FieldType
session_idstring
document_idstring
remote_quiescedboolean

Result

{ document_id: string, status: blocked, requires_authorization: true, remote_state_known: false }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.projection.reseed",
  "params": {
    "session_id": "sess_01J...",
    "document_id": "<document_id>",
    "remote_quiesced": true
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#memory.projection.retryadmincontrol-plane

Params

FieldType
session_idstring
document_idstring

Result

{ document_id: string, status: blocked, attempts: number, previous_error_code: string, requires_authorization: true }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "memory.projection.retry",
  "params": {
    "session_id": "sess_01J...",
    "document_id": "<document_id>"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

Schedule5

#schedule.createwritecontrol-plane

Params

FieldType
session_idstring
promptstring
kindat|every|cron
expressionstring
modelstring?
reasoning_effortstring?
agentstring?
modebackground?
concurrency_policyforbid|queue|replace|allow?

Result

Schedule

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "schedule.create",
  "params": {
    "session_id": "sess_01J...",
    "prompt": "Summarize module boundaries",
    "kind": "<kind>",
    "expression": "<expression>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#schedule.listread

Params

FieldType
session_idstring

Result

{ schedules: Schedule[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "schedule.list",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#schedule.pausewritecontrol-plane

Params

FieldType
session_idstring
schedule_idstring

Result

Schedule

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "schedule.pause",
  "params": {
    "session_id": "sess_01J...",
    "schedule_id": "<schedule_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#schedule.resumewritecontrol-plane

Params

FieldType
session_idstring
schedule_idstring

Result

Schedule

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "schedule.resume",
  "params": {
    "session_id": "sess_01J...",
    "schedule_id": "<schedule_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#schedule.deletewritecontrol-plane

Params

FieldType
session_idstring
schedule_idstring

Result

{ deleted: boolean, schedule_id: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "schedule.delete",
  "params": {
    "session_id": "sess_01J...",
    "schedule_id": "<schedule_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Goal7

#goal.getread

Params

FieldType
session_idstring

Result

{ goal: SessionGoal? }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "goal.get",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#goal.setwritecontrol-plane

Params

FieldType
session_idstring
objectivestring
statusactive|paused|blocked|budget_limited|usage_limited|complete?
token_budgetinteger >= 0?
max_continuationsinteger 1..32?
success_criteriaSuccessCheck[]?
auto_continueboolean? default false

Result

SessionGoal

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "goal.set",
  "params": {
    "session_id": "sess_01J...",
    "objective": "<objective>",
    "token_budget": 1,
    "max_continuations": 1,
    "success_criteria": [],
    "auto_continue": true
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#goal.clearwritecontrol-plane

Params

FieldType
session_idstring

Result

{ cleared: boolean, session_id: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "goal.clear",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#goal.pausewritecontrol-plane

Params

FieldType
session_idstring

Result

SessionGoal

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "goal.pause",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#goal.resumewritecontrol-plane

Params

FieldType
session_idstring

Result

SessionGoal

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "goal.resume",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#goal.completewritecontrol-plane

Params

FieldType
session_idstring

Result

SessionGoal

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "goal.complete",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#goal.continuewritecontrol-plane

Params

FieldType
session_idstring

Result

Task

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "goal.continue",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Workflow8

#workflow.runwritecontrol-plane

Params

FieldType
session_idstring
workflowstring
inputstring?

Result

WorkflowRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workflow.run",
  "params": {
    "session_id": "sess_01J...",
    "workflow": "<workflow>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workflow.listreadremote

Params

{}

Result

WorkflowRun[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workflow.list",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#workflow.detailreadremote

Params

FieldType
run_idstring

Result

WorkflowRunDetail

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workflow.detail",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#workflow.pausewritecontrol-plane

Params

FieldType
run_idstring

Result

WorkflowRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workflow.pause",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workflow.resumewritecontrol-plane

Params

FieldType
run_idstring

Result

WorkflowRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workflow.resume",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workflow.stopwritecontrol-plane

Params

FieldType
run_idstring

Result

WorkflowRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workflow.stop",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workflow.restartwritecontrol-plane

Params

FieldType
run_idstring

Result

WorkflowRun

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workflow.restart",
  "params": {
    "run_id": "<run_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workflow.savewritecontrol-plane

Params

FieldType
run_idstring
namestring

Result

{ path: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workflow.save",
  "params": {
    "run_id": "<run_id>",
    "name": "<name>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Channel5

#channel.sender.registeradmincontrol-plane

Params

FieldType
idstring
secret_envCARINA_CHANNEL_*
sessionsstring[]
kindsstring[]
can_relay_permissionboolean?

Result

{ registered: boolean, sender_id: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "channel.sender.register",
  "params": {
    "id": "<id>",
    "secret_env": "<secret_env>",
    "sessions": "sess_01J...",
    "kinds": [],
    "can_relay_permission": true
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#channel.sender.listadmin

Params

{}

Result

ChannelSender[] (secrets omitted)

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "channel.sender.list",
  "params": {}
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#channel.event.injectadminremotecontrol-plane

Params

FieldType
eventChannelEvent
signaturehex-hmac-sha256

Result

ChannelReceipt

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "channel.event.inject",
  "params": {
    "event": "<event>",
    "signature": "<signature>"
  }
}

Playground

admin

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#channel.event.pendingadmin

Params

{}

Result

{ incidents: ChannelIncident[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "channel.event.pending",
  "params": {}
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#channel.event.reconcileadmincontrol-plane

Params

FieldType
sender_idstring
event_idstring
outcomeexecuted|not_executed
confirmedboolean

Result

ChannelReconcileResult

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "channel.event.reconcile",
  "params": {
    "sender_id": "<sender_id>",
    "event_id": "<event_id>",
    "outcome": "<outcome>",
    "confirmed": true
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

Extension6

#extension.installadmincontrol-plane

Params

FieldType
sourcetrusted local directory

Result

InstalledExtension

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "extension.install",
  "params": {
    "source": "<source>"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#extension.listread

Params

FieldType
workspace_rootstring? absolute path; when present, project-tier disables from <workspace_root>/.carina/extensions.json are merged into effective_enabled per request (disable-only, never persisted)

Result

ExtensionInventory

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "extension.list",
  "params": {
    "workspace_root": "/repo"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#extension.enableadmincontrol-plane

Params

FieldType
namestring

Result

InstalledExtension

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "extension.enable",
  "params": {
    "name": "<name>"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#extension.disableadmincontrol-plane

Params

FieldType
namestring

Result

InstalledExtension

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "extension.disable",
  "params": {
    "name": "<name>"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#extension.updateadmincontrol-plane

Params

FieldType
namestring

Result

InstalledExtension

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "extension.update",
  "params": {
    "name": "<name>"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#extension.safe_modeadmincontrol-plane

Params

FieldType
onboolean

Result

ExtensionInventory

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "extension.safe_mode",
  "params": {
    "on": true
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

Telemetry1

#telemetry.statusreadremote

Params

{}

Result

{ enabled: boolean, format: carina-telemetry-json-v1, otlp: false }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "telemetry.status",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Artifact3

#artifact.statread

Params

FieldType
session_idstring
run_idstring?
call_idstring?
artifact_idsha256

Result

ArtifactMetadata

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "artifact.stat",
  "params": {
    "session_id": "sess_01J...",
    "artifact_id": "<artifact_id>"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#artifact.readread

Params

FieldType
session_idstring
run_idstring?
call_idstring?
artifact_idsha256
offsetinteger? >= 0
limitinteger? 0..1048576

Result

{ metadata: ArtifactMetadata, offset: integer, next_offset: integer, eof: boolean, content_base64: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "artifact.read",
  "params": {
    "session_id": "sess_01J...",
    "artifact_id": "<artifact_id>",
    "offset": 1,
    "limit": 1
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#artifact.uploadwrite

Params

FieldType
session_idstring
upload_idstring
chunk_indexinteger >= 0
content_base64base64 <= 524288 decoded bytes
finalboolean
sha256sha256
total_bytesinteger 1..4194304
media_typeimage/png|image/jpeg|image/gif|image/webp
originstring

Result

MediaRef on final chunk; upload receipt otherwise

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "artifact.upload",
  "params": {
    "session_id": "sess_01J...",
    "upload_id": "<upload_id>",
    "chunk_index": 1,
    "content_base64": "<content_base64>",
    "final": true,
    "sha256": "<sha256>",
    "total_bytes": 1,
    "media_type": "<media_type>",
    "origin": "<origin>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Context5

#context.statusread

Params

{}

Result

ContextEngineStatus

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "context.status",
  "params": {}
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#context.doctorread

Params

{}

Result

{ ok: boolean, status: ContextEngineStatus }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "context.doctor",
  "params": {}
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#context.statsread

Params

{}

Result

ContextEngineStats

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "context.stats",
  "params": {}
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#context.summaryread

Params

FieldType
session_idstring

Result

ContextSummary

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "context.summary",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#context.compresswrite

Params

FieldType
contentstring
session_idstring?
task_idstring?
turnnumber?
kindstring?
toolstring?
pinnedboolean?

Result

ContextCompressResponse

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "context.compress",
  "params": {
    "content": "<content>",
    "session_id": "sess_01J...",
    "task_id": "Summarize module boundaries",
    "turn": 1,
    "pinned": true
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Workspace18

#worktree.createwritecontrol-plane

Params

FieldType
idstring
repo_rootstring
base_refstring?
branchstring?
ownerstring?

Result

Worktree

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worktree.create",
  "params": {
    "id": "<id>",
    "repo_root": "/repo"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#worktree.listread

Params

{}

Result

Worktree[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worktree.list",
  "params": {}
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#worktree.enterwritecontrol-plane

Params

FieldType
idstring
ownerstring

Result

Worktree

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worktree.enter",
  "params": {
    "id": "<id>",
    "owner": "<owner>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#worktree.lockwritecontrol-plane

Params

FieldType
idstring
ownerstring

Result

Worktree

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worktree.lock",
  "params": {
    "id": "<id>",
    "owner": "<owner>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#worktree.unlockwritecontrol-plane

Params

FieldType
idstring
ownerstring

Result

Worktree

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worktree.unlock",
  "params": {
    "id": "<id>",
    "owner": "<owner>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#worktree.cleanupwritecontrol-plane

Params

FieldType
idstring
ownerstring
forceboolean?

Result

{ removed: boolean, id: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worktree.cleanup",
  "params": {
    "id": "<id>",
    "owner": "<owner>",
    "force": true
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workspace.treeread

Params

FieldType
session_idstring
max_depthnumber?

Result

TreeNode[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.tree",
  "params": {
    "session_id": "sess_01J...",
    "max_depth": 1
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#workspace.diffread

Params

FieldType
session_idstring

Result

WorkspaceDiffResponse

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.diff",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#workspace.file.getread

Params

FieldType
session_idstring
pathclean workspace-relative string

Result

{ content: UTF-8 text <= 1 MiB, hash: sha256 string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.file.get",
  "params": {
    "session_id": "sess_01J...",
    "path": "/repo"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#workspace.trustadmincontrol-plane

Params

FieldType
session_idstring
trustedboolean

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.trust",
  "params": {
    "session_id": "sess_01J...",
    "trusted": true
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#workspace.patch.proposewrite

Params

FieldType
session_idstring
diffstring?
filesPatchFile[]?
reasonstring?

Result

PatchTransaction

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.patch.propose",
  "params": {
    "session_id": "sess_01J...",
    "files": []
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workspace.patch.applywrite

Params

FieldType
session_idstring?
patch_idstring

Result

PatchTransaction

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.patch.apply",
  "params": {
    "session_id": "sess_01J...",
    "patch_id": "<patch_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workspace.patch.verifywrite

Params

FieldType
session_idstring
patch_idstring

Result

PatchTransaction

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.patch.verify",
  "params": {
    "session_id": "sess_01J...",
    "patch_id": "<patch_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workspace.patch.rollback.previewread

Params

FieldType
session_idstring
patch_idstring

Result

PatchRollbackPreview

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.patch.rollback.preview",
  "params": {
    "session_id": "sess_01J...",
    "patch_id": "<patch_id>"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#workspace.patch.rollbackwrite

Params

FieldType
session_idstring?
patch_idstring

Result

PatchTransaction

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.patch.rollback",
  "params": {
    "session_id": "sess_01J...",
    "patch_id": "<patch_id>"
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

#workspace.patch.listread

Params

FieldType
session_idstring

Result

PatchTransaction[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.patch.list",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#workspace.patch.showread

Params

FieldType
session_idstring
patch_idstring

Result

PatchTransaction

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace.patch.show",
  "params": {
    "session_id": "sess_01J...",
    "patch_id": "<patch_id>"
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

Mcp1

#mcp.inventoryread

Params

FieldType
verboseboolean?

Result

{ servers: MCPInventoryServer[], count: integer } (secret-free; private servers omitted)

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "mcp.inventory",
  "params": {
    "verbose": true
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

Command2

#command.listreadremote

Params

FieldType
session_idstring?
workspace_rootstring?

Result

{ revision: string, commands: Command[] }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "command.list",
  "params": {
    "session_id": "sess_01J...",
    "workspace_root": "/repo"
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#command.execwrite

Params

FieldType
session_idstring
task_idstring?
argvstring[]

Result

{ decision: PermissionDecision, result: CommandResult? }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "command.exec",
  "params": {
    "session_id": "sess_01J...",
    "task_id": "Summarize module boundaries",
    "argv": []
  }
}

Playground

write

This method is not remotely exposed; use Mock or the local CLI.

Audit3

#audit.reportreadremote

Params

FieldType
session_idstring

Result

AuditReport

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "audit.report",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#audit.exportreadremote

Params

FieldType
session_idstring
formatjsonl|sqlite?

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "audit.export",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#audit.verifyreadremote

Params

FieldType
session_idstring

Result

AuditVerification

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "audit.verify",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Profile2

#profile.describereadremote

Params

FieldType
profilestring?
session_idstring?

Result

PermissionProfile

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "profile.describe",
  "params": {
    "profile": "safe-edit",
    "session_id": "sess_01J..."
  }
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#profile.inventoryread

Params

FieldType
session_idstring

Result

{ effective: PermissionProfile, profile: string, source: string, choices: object[], mutation: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "profile.inventory",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

Product Control3

#config.inventoryread

Params

FieldType
session_idstring

Result

{ effective: object, sources: object, choices: object, mutation: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "config.inventory",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#skill.inventoryread

Params

FieldType
session_idstring

Result

{ skills: object[], count: integer, mutation: string }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "skill.inventory",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#hook.inventoryread

Params

FieldType
session_idstring

Result

{ hooks: object[], count: integer, safe_mode: boolean, supported_events: string[], commands_redacted: true }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "hook.inventory",
  "params": {
    "session_id": "sess_01J..."
  }
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

Secret2

#secret.grantadmincontrol-plane

Params

object

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "secret.grant",
  "params": {}
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#secret.requestadmincontrol-plane

Params

object

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "secret.request",
  "params": {}
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

Plugin2

#plugin.inspectread

Params

object

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "plugin.inspect",
  "params": {}
}

Playground

read

This method is not remotely exposed; use Mock or the local CLI.

#plugin.runadmincontrol-plane

Params

object

Result

object

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "plugin.run",
  "params": {}
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

Worker4

#worker.registerworkerremote

Params

FieldType
namestring
kindremote|ci|sandbox?
process_tree_containmentnone|unix_pgrp_v1|windows_job_v1
poolsstring[]? (worker_pool:<tag> capability tags, max 8, each 1-64 lowercase alnum/dash/underscore; matches a streaming workflow step's affinity.worker_pool)

Result

{ worker_id: string, worker_credential: string } (credential returned once; server stores only a hash)

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worker.register",
  "params": {
    "name": "<name>",
    "process_tree_containment": "<process_tree_containment>",
    "pools": []
  }
}

Playground

worker

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#worker.heartbeatworkerremote

Params

FieldType
worker_idstring
worker_credentialstring

Result

{ ok: boolean }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worker.heartbeat",
  "params": {
    "worker_id": "<worker_id>",
    "worker_credential": "<worker_credential>"
  }
}

Playground

worker

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#worker.listreadremote

Params

{}

Result

Worker[]

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worker.list",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#worker.revokeworkerremotecontrol-plane

Params

FieldType
worker_idstring
worker_credentialstring

Result

{ ok: boolean }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "worker.revoke",
  "params": {
    "worker_id": "<worker_id>",
    "worker_credential": "<worker_credential>"
  }
}

Playground

worker

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Backpressure2

#backpressure.reportworkerremote

Params

PressureReport + { worker_credential: string }

Result

{ accepted: boolean, report: PressureReport, directive: ThrottleDirective }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "backpressure.report",
  "params": {}
}

Playground

worker

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#backpressure.statusreadremote

Params

{}

Result

BackpressureStatus

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "backpressure.status",
  "params": {}
}

Playground

read

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Work5

#work.submitadmincontrol-plane

Params

WorkSubmission + { required_worker_capabilities: string[]? }

Result

WorkItem

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "work.submit",
  "params": {}
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#work.canceladmincontrol-plane

Params

FieldType
task_idstring

Result

Task

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "work.cancel",
  "params": {
    "task_id": "Summarize module boundaries"
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

#work.pollworkerremote

Params

FieldType
worker_idstring
worker_credentialstring
ttl_msnumber?

Result

WorkLease?

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "work.poll",
  "params": {
    "worker_id": "<worker_id>",
    "worker_credential": "<worker_credential>",
    "ttl_ms": 1
  }
}

Playground

worker

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#work.renewworkerremote

Params

FieldType
worker_idstring
worker_credentialstring
task_idstring
lease_generationinteger >= 1
ttl_msnumber?

Result

{ ok: boolean, cancelled: boolean? }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "work.renew",
  "params": {
    "worker_id": "<worker_id>",
    "worker_credential": "<worker_credential>",
    "task_id": "Summarize module boundaries",
    "lease_generation": 1,
    "ttl_ms": 1
  }
}

Playground

worker

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

#work.reportworkerremote

Params

WorkReport + { worker_credential: string, lease_generation: integer >= 1, usage: {input_tokens: integer >= 0, output_tokens: integer >= 0, cache_read_tokens: integer >= 0?, cache_write_tokens: integer >= 0?}?, channel_messages: [{channel: string, payload: any}]? (max 64; see docs/worker-executor.md) }

Result

{ ok: boolean }

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "work.report",
  "params": {}
}

Playground

worker

Mock works without a daemon. Live completes gateway.hello before sending this JSON-RPC request.

Debug2

#debug.snapshotadmin

Params

FieldType
limitnumber?
componentstring?

Result

DebugSnapshot

Sample request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "debug.snapshot",
  "params": {
    "limit": 1
  }
}

Playground

admin

This method is not remotely exposed; use Mock or the local CLI.

ScopeMeaning
readStatus, list, replay, catalog, audit
writeMutating session/task/workspace actions
adminControl-plane, secret, config, policy, approval
workerRemote worker lease protocol
streamLong-lived event subscriptions

remote: true means the method may be exposed through the Gateway descriptor catalog when remote surfaces are enabled. control-plane flags high-risk control-plane writes.

See also: API versions for how 0.8.x / next catalogs are produced.

  • Generated from protocol/jsonrpc/methods.json via pnpm sync-protocol
  • Channel pins: src/data/rpc-catalog-0.8.x.json / rpc-catalog-next.json (+ public/data/)
  • Narrative: API overview · JSON-RPC · Versions

Was this page helpful?

One vote per page is recorded during this session.