Skip to content

<!-- CODE GENERATED BY cmd/harbor-gen-protocol-docs. DO NOT EDIT. -->

Protocol methods

The 126 canonical Harbor Protocol methods, generated from the single-source registry (internal/protocol/methods) joined against the wire transports' route patterns (internal/protocol/transports/{control,stream}). The classification column is computed from the same Is*Method predicates the transports branch on.

Every method is identity-mandatory: the request carries a verified JWT bearer (asymmetric algorithms only — RFC §5.5) and resolves a complete (tenant, user, session) triple, with the session chosen per-request via X-Harbor-Session (see Auth & identity). The Auth column lists what a method demands beyond that baseline. Request/response shapes link into types.md; error envelopes are catalogued in errors.md.

Task control

MethodRouteClassificationRequestResponseAuth (beyond identity)
approvePOST /v1/control/approvetask control — steeringControlRequestControlResponsemutating; steering scope ≥ owner_user (RFC §6.3); cross-tenant steering requires admin
cancelPOST /v1/control/canceltask control — steeringControlRequestControlResponsemutating; steering scope ≥ owner_user (RFC §6.3); cross-tenant steering requires admin
inject_contextPOST /v1/control/inject_contexttask control — steeringControlRequestControlResponsemutating; steering scope ≥ session_user (RFC §6.3); cross-tenant steering requires admin
pausePOST /v1/control/pausetask control — steeringControlRequestControlResponsemutating; steering scope ≥ owner_user (RFC §6.3); cross-tenant steering requires admin
prioritizePOST /v1/control/prioritizetask control — steeringControlRequestControlResponsemutating; steering scope ≥ admin (RFC §6.3); cross-tenant steering requires admin
redirectPOST /v1/control/redirecttask control — steeringControlRequestControlResponsemutating; steering scope ≥ owner_user (RFC §6.3); cross-tenant steering requires admin
rejectPOST /v1/control/rejecttask control — steeringControlRequestControlResponsemutating; steering scope ≥ owner_user (RFC §6.3); cross-tenant steering requires admin
resumePOST /v1/control/resumetask control — steeringControlRequestControlResponsemutating; steering scope ≥ owner_user (RFC §6.3); cross-tenant steering requires admin
startPOST /v1/control/starttask control — spawnStartRequestStartResponsemutating
user_messagePOST /v1/control/user_messagetask control — steeringControlRequestControlResponsemutating; steering scope ≥ session_user (RFC §6.3); cross-tenant steering requires admin

Streaming events

MethodRouteClassificationRequestResponseAuth (beyond identity)
events.aggregatePOST /v1/events/aggregatestreaming eventsEventAggregateRequestEventAggregateResponseread-only; cross-tenant fan-in requires admin or console:fleet
events.subscribeGET /v1/eventsstreaming eventsno JSON body — the filter travels as query/header values (X-Harbor-Run, X-Harbor-Event-Type, ?admin=1, Last-Event-ID)SSE stream (text/event-stream); see events.mdread-only; cross-tenant fan-in requires admin or console:fleet

Tasks

MethodRouteClassificationRequestResponseAuth (beyond identity)
tasks.getPOST /v1/tasks/gettasks (read-only)TaskGetRequestTaskDetailread-only
tasks.listPOST /v1/tasks/listtasks (read-only)TaskListRequestTaskListResponseread-only; cross-tenant fan-in requires the verified admin scope claim (console:fleet is not consulted)

Sessions

MethodRouteClassificationRequestResponseAuth (beyond identity)
sessions.deletePOST /v1/sessions/deletesessions (read-only)SessionsDeleteRequestSessionsDeleteResponsemutating; Own-session-only — a caller erases solely their own verified (tenant, user, session); a body identity mismatching the verified identity is rejected identity_required. No admin / cross-tenant path.
sessions.inspectPOST /v1/sessions/inspectsessions (read-only)SessionsInspectRequestSessionsInspectResponseread-only
sessions.listPOST /v1/sessions/listsessions (read-only)SessionsListRequestSessionsListResponseread-only; cross-tenant fan-in requires admin or console:fleet
sessions.set_titlePOST /v1/sessions/set_titlesessions (read-only)SessionsSetTitleRequestSessionsSetTitleResponsemutating; Owning-(tenant, user)-scoped, not own-session-only — the body Identity's tenant/user MUST equal the verified identity, but the target session_id (a dedicated request field) MAY name a sibling session of the same owner. Always writes manual provenance; no admin / cross-tenant path.

Pause snapshot

MethodRouteClassificationRequestResponseAuth (beyond identity)
pause.listPOST /v1/pause/listpause snapshot (read-only)PauseListRequestPauseListResponseread-only; cross-tenant fan-in requires the verified admin scope claim (console:fleet is not consulted)
MethodRouteClassificationRequestResponseAuth (beyond identity)
search.artifactsPOST /v1/control/search.artifactssearchSearchRequestSearchResponseread-only; cross-tenant fan-in requires admin or console:fleet
search.eventsPOST /v1/control/search.eventssearchSearchRequestSearchResponseread-only; cross-tenant fan-in requires admin or console:fleet
search.queryPOST /v1/control/search.querysearchSearchRequestSearchResponseread-only; cross-tenant fan-in requires admin or console:fleet
search.sessionsPOST /v1/control/search.sessionssearchSearchRequestSearchResponseread-only; cross-tenant fan-in requires admin or console:fleet
search.tasksPOST /v1/control/search.taskssearchSearchRequestSearchResponseread-only; cross-tenant fan-in requires admin or console:fleet

Posture

MethodRouteClassificationRequestResponseAuth (beyond identity)
governance.posturePOST /v1/control/governance.postureposture (read-only)RuntimeInfoRequestGovernancePostureResponseread-only; cross-tenant fan-in requires admin or console:fleet
llm.posturePOST /v1/control/llm.postureposture (read-only)RuntimeInfoRequestLLMPostureResponseread-only; cross-tenant fan-in requires admin or console:fleet
metrics.snapshotPOST /v1/control/metrics.snapshotposture (read-only)RuntimeInfoRequestMetricsSnapshotread-only; cross-tenant fan-in requires admin or console:fleet
runtime.countersPOST /v1/control/runtime.countersposture (read-only)RuntimeInfoRequestRuntimeCountersread-only; cross-tenant fan-in requires admin or console:fleet
runtime.driversPOST /v1/control/runtime.driversposture (read-only)RuntimeInfoRequestRuntimeDriversread-only; cross-tenant fan-in requires admin or console:fleet
runtime.healthPOST /v1/control/runtime.healthposture (read-only)RuntimeInfoRequestRuntimeHealthread-only; cross-tenant fan-in requires admin or console:fleet
runtime.infoPOST /v1/control/runtime.infoposture (read-only)RuntimeInfoRequestRuntimeInforead-only; cross-tenant fan-in requires admin or console:fleet

Topology

MethodRouteClassificationRequestResponseAuth (beyond identity)
topology.snapshotPOST /v1/control/topology.snapshottopology (read-only)TopologySnapshotRequestTopologyProjectionread-only; cross-tenant fan-in requires the verified admin scope claim (console:fleet is not consulted)

Artifacts

MethodRouteClassificationRequestResponseAuth (beyond identity)
artifacts.deletePOST /v1/control/artifacts.deleteartifactsArtifactsDeleteRequestArtifactsDeleteResponsemutating; requires the verified admin scope claim
artifacts.getPOST /v1/control/artifacts.getartifactsArtifactsGetRequestArtifactsGetResponseread-only
artifacts.get_refPOST /v1/control/artifacts.get_refartifactsArtifactsGetRefRequestArtifactsGetRefResponseread-only
artifacts.listPOST /v1/control/artifacts.listartifactsArtifactsListRequestArtifactsListResponseread-only; cross-tenant fan-in requires admin or console:fleet
artifacts.putPOST /v1/control/artifacts.putartifactsArtifactsPutRequestArtifactsPutResponsemutating

Memory

MethodRouteClassificationRequestResponseAuth (beyond identity)
memory.deletePOST /v1/memory/deletememoryMemoryDeleteRequestMemoryDeleteResponsemutating; requires the verified admin scope claim
memory.getPOST /v1/memory/getmemoryMemoryGetRequestMemoryGetResponseread-only
memory.healthPOST /v1/memory/healthmemoryMemoryHealthRequestMemoryHealthResponseread-only
memory.listPOST /v1/memory/listmemoryMemoryListRequestMemoryListResponseread-only; cross-tenant fan-in requires admin or console:fleet
memory.putPOST /v1/memory/putmemoryMemoryPutRequestMemoryPutResponsemutating; requires the verified admin scope claim
memory.strategy_tracePOST /v1/memory/strategy_tracememoryMemoryStrategyTraceRequestMemoryStrategyTraceResponseread-only

Tools

MethodRouteClassificationRequestResponseAuth (beyond identity)
tools.content_statsPOST /v1/tools/content_statstoolsToolContentStatsRequestToolContentStatsread-only
tools.describePOST /v1/tools/describetoolsToolDescribeRequestToolManifestread-only
tools.getPOST /v1/tools/gettoolsToolGetRequestToolread-only
tools.listPOST /v1/tools/listtoolsToolListRequestToolListResponseread-only
tools.metricsPOST /v1/tools/metricstoolsToolMetricsRequestToolMetricsread-only
tools.revoke_oauthPOST /v1/tools/revoke_oauthtoolsToolRevokeOAuthRequestToolRevokeOAuthResponsemutating; requires the verified admin scope claim
tools.set_approval_policyPOST /v1/tools/set_approval_policytoolsToolSetApprovalPolicyRequestToolSetApprovalPolicyResponsemutating; requires the verified admin scope claim

Flows

MethodRouteClassificationRequestResponseAuth (beyond identity)
flows.describePOST /v1/flows/describeflowsFlowDescribeRequestFlowDescriptionread-only; tenant-scoped results; the verified admin scope claim widens run visibility across tenants
flows.listPOST /v1/flows/listflowsFlowListRequestFlowListResponseread-only; cross-tenant fan-in requires the verified admin scope claim (console:fleet is not consulted)
flows.metricsPOST /v1/flows/metricsflowsFlowMetricsRequestFlowMetricsread-only; tenant-scoped results; the verified admin scope claim widens run visibility across tenants
flows.runPOST /v1/flows/runflowsFlowRunRequestFlowRunResponsemutating; requires the verified admin scope claim
flows.runs.describePOST /v1/flows/runs/describeflowsFlowRunDescribeRequestFlowRunDescriptionread-only; tenant-scoped results; the verified admin scope claim widens run visibility across tenants
flows.runs.listPOST /v1/flows/runs/listflowsFlowRunsListRequestFlowRunsListResponseread-only; cross-tenant fan-in requires the verified admin scope claim (console:fleet is not consulted)

Agents

MethodRouteClassificationRequestResponseAuth (beyond identity)
agents.deregisterPOST /v1/agents/deregisteragents — fleet controlAgentControlRequestAgentControlResponsemutating; requires the verified admin scope claim
agents.drainPOST /v1/agents/drainagents — fleet controlAgentControlRequestAgentControlResponsemutating; requires the verified admin scope claim
agents.force_stopPOST /v1/agents/force_stopagents — fleet controlAgentControlRequestAgentControlResponsemutating; requires the verified admin scope claim
agents.getPOST /v1/agents/getagents (read-only)AgentGetRequestAgentGetResponseread-only
agents.governancePOST /v1/agents/governanceagents (read-only)AgentGovernanceRequestAgentGovernanceResponseread-only
agents.listPOST /v1/agents/listagents (read-only)AgentListRequestAgentListResponseread-only
agents.memoryPOST /v1/agents/memoryagents (read-only)AgentMemoryRequestAgentMemoryResponseread-only
agents.metricsPOST /v1/agents/metricsagents (read-only)AgentMetricsRequestAgentMetricsResponseread-only
agents.pausePOST /v1/agents/pauseagents — fleet controlAgentControlRequestAgentControlResponsemutating; requires the verified admin scope claim
agents.permissionsPOST /v1/agents/permissionsagents (read-only)AgentPermissionsRequestAgentPermissionsResponseread-only
agents.restartPOST /v1/agents/restartagents — fleet controlAgentControlRequestAgentControlResponsemutating; requires the verified admin scope claim
agents.skillsPOST /v1/agents/skillsagents (read-only)AgentSkillsRequestAgentSkillsResponseread-only
agents.toolsPOST /v1/agents/toolsagents (read-only)AgentToolsRequestAgentToolsResponseread-only

MCP servers

MethodRouteClassificationRequestResponseAuth (beyond identity)
mcp.servers.bindings.listPOST /v1/control/mcp.servers.bindings.listmcp serversMCPServerBindingsListRequestMCPServerBindingsListResponseread-only
mcp.servers.getPOST /v1/control/mcp.servers.getmcp serversMCPServerGetRequestMCPServerGetResponseread-only
mcp.servers.healthPOST /v1/control/mcp.servers.healthmcp serversMCPServerHealthRequestMCPServerHealthResponseread-only
mcp.servers.listPOST /v1/control/mcp.servers.listmcp serversMCPServersListRequestMCPServersListResponseread-only
mcp.servers.policyPOST /v1/control/mcp.servers.policymcp serversMCPServerPolicyRequestMCPServerPolicyResponseread-only
mcp.servers.probePOST /v1/control/mcp.servers.probemcp serversMCPServerProbeRequestMCPServerProbeResponsemutating
mcp.servers.promptsPOST /v1/control/mcp.servers.promptsmcp serversMCPServerPromptsRequestMCPServerPromptsResponseread-only
mcp.servers.refresh_bindingPOST /v1/control/mcp.servers.refresh_bindingmcp serversMCPServerRefreshBindingRequestMCPServerRefreshBindingResponsemutating; requires the verified admin scope claim
mcp.servers.refresh_discoveryPOST /v1/control/mcp.servers.refresh_discoverymcp serversMCPServerRefreshDiscoveryRequestMCPServerRefreshDiscoveryResponsemutating
mcp.servers.resourcesPOST /v1/control/mcp.servers.resourcesmcp serversMCPServerResourcesRequestMCPServerResourcesResponseread-only
mcp.servers.revoke_bindingPOST /v1/control/mcp.servers.revoke_bindingmcp serversMCPServerRevokeBindingRequestMCPServerRevokeBindingResponsemutating; requires the verified admin scope claim
mcp.servers.set_raw_html_trustPOST /v1/control/mcp.servers.set_raw_html_trustmcp serversMCPServerSetRawHTMLTrustRequestMCPServerSetRawHTMLTrustResponsemutating; requires the verified admin scope claim

MCP apps

MethodRouteClassificationRequestResponseAuth (beyond identity)
mcp.apps.call_toolPOST /v1/control/mcp.apps.call_toolmcp appsMCPAppCallToolRequestMCPAppCallToolResponsemutating
mcp.apps.tool_contextPOST /v1/control/mcp.apps.tool_contextmcp appsToolContextRequestToolContextResponseread-only
mcp.servers.read_resourcePOST /v1/control/mcp.servers.read_resourcemcp appsReadMCPResourceRequestReadMCPResourceResponseread-only

Runs

MethodRouteClassificationRequestResponseAuth (beyond identity)
runs.set_overridesPOST /v1/runs/set_overridesrunsRunSetOverridesRequestRunSetOverridesResponsemutating

State snapshots

MethodRouteClassificationRequestResponseAuth (beyond identity)
state.historyPOST /v1/state/historystate snapshots (read-only)StateHistoryRequestStateHistoryResponseread-only

Events read

MethodRouteClassificationRequestResponseAuth (beyond identity)
events.listPOST /v1/events/listevents read (read-only)EventsListRequestEventsListResponseread-only; cross-tenant fan-in requires admin or console:fleet

Auth

MethodRouteClassificationRequestResponseAuth (beyond identity)
auth.rotate_tokenPOST /v1/auth/rotate_tokenauthAuthRotateTokenRequestAuthRotateTokenResponsemutating; requires the verified admin scope claim

Governance admin

MethodRouteClassificationRequestResponseAuth (beyond identity)
governance.get_tenant_overridesPOST /v1/governance/get_tenant_overridesgovernance — adminGovernanceGetTenantOverridesRequestGovernanceGetTenantOverridesResponseread-only; requires the verified admin scope claim
governance.rotate_keyPOST /v1/governance/rotate_keygovernance — adminGovernanceRotateKeyRequestGovernanceRotateKeyResponsemutating; requires the verified admin scope claim
governance.set_posturePOST /v1/governance/set_posturegovernance — adminGovernanceSetPostureRequestGovernanceSetPostureResponsemutating; requires the verified admin scope claim
governance.set_tenant_overridesPOST /v1/governance/set_tenant_overridesgovernance — adminGovernanceSetTenantOverridesRequestGovernanceSetTenantOverridesResponsemutating; requires the verified admin scope claim

Agent config

MethodRouteClassificationRequestResponseAuth (beyond identity)
agent_config.add_mcp_connectionPOST /v1/agent_config/add_mcp_connectionagent config — adminAgentConfigAddMCPConnectionRequestAgentConfigAddMCPConnectionResponsemutating; requires the verified admin scope claim
agent_config.diffPOST /v1/agent_config/diffagent config — adminAgentConfigDiffRequestAgentConfigDiffResponseread-only; requires the verified admin scope claim
agent_config.getPOST /v1/agent_config/getagent config — adminAgentConfigGetRequestAgentConfigGetResponseread-only; requires the verified admin scope claim
agent_config.list_revisionsPOST /v1/agent_config/list_revisionsagent config — adminAgentConfigListRevisionsRequestAgentConfigListRevisionsResponseread-only; requires the verified admin scope claim
agent_config.register_oauth_mcp_capabilityPOST /v1/agent_config/register_oauth_mcp_capabilityagent config — adminAgentConfigRegisterOAuthMCPCapabilityRequestAgentConfigRegisterOAuthMCPCapabilityResponsemutating; requires the verified admin scope claim
agent_config.remove_mcp_connectionPOST /v1/agent_config/remove_mcp_connectionagent config — adminAgentConfigRemoveMCPConnectionRequestAgentConfigRemoveMCPConnectionResponsemutating; requires the verified admin scope claim
agent_config.remove_oauth_mcp_capabilityPOST /v1/agent_config/remove_oauth_mcp_capabilityagent config — adminAgentConfigRemoveOAuthMCPCapabilityRequestAgentConfigRemoveOAuthMCPCapabilityResponsemutating; requires the verified admin scope claim
agent_config.remove_oauth_providerPOST /v1/agent_config/remove_oauth_provideragent config — adminAgentConfigRemoveOAuthProviderRequestAgentConfigRemoveOAuthProviderResponsemutating; requires the verified admin scope claim
agent_config.retirePOST /v1/agent_config/retireagent config — adminAgentConfigRetireRequestAgentConfigRetireResponsemutating; requires the verified admin scope claim
agent_config.rollbackPOST /v1/agent_config/rollbackagent config — adminAgentConfigRollbackRequestAgentConfigRollbackResponsemutating; requires the verified admin scope claim
agent_config.session.set_source_disablesPOST /v1/agent_config/session/set_source_disablesagent config — sessionAgentConfigSessionSetSourceDisablesRequestAgentConfigSessionSetSourceDisablesResponsemutating; identity-mandatory; does NOT require the admin scope (the session-user safe subset)
agent_config.session.set_user_promptPOST /v1/agent_config/session/set_user_promptagent config — sessionAgentConfigSessionSetUserPromptRequestAgentConfigSessionSetUserPromptResponsemutating; identity-mandatory; does NOT require the admin scope (the session-user safe subset)
agent_config.session.skills.deletePOST /v1/agent_config/session/skills/deleteagent config — sessionAgentConfigSessionSkillsDeleteRequestAgentConfigSessionSkillsDeleteResponsemutating; identity-mandatory; does NOT require the admin scope (the session-user safe subset)
agent_config.session.skills.listPOST /v1/agent_config/session/skills/listagent config — sessionAgentConfigSessionSkillsListRequestAgentConfigSessionSkillsListResponseread-only; identity-mandatory; does NOT require the admin scope (the session-user safe subset)
agent_config.session.skills.upsertPOST /v1/agent_config/session/skills/upsertagent config — sessionAgentConfigSessionSkillsUpsertRequestAgentConfigSessionSkillsUpsertResponsemutating; identity-mandatory; does NOT require the admin scope (the session-user safe subset)
agent_config.set_extra_system_blocksPOST /v1/agent_config/set_extra_system_blocksagent config — adminAgentConfigSetExtraSystemBlocksRequestAgentConfigSetExtraSystemBlocksResponsemutating; requires the verified admin scope claim
agent_config.set_llm_paramsPOST /v1/agent_config/set_llm_paramsagent config — adminAgentConfigSetLLMParamsRequestAgentConfigSetLLMParamsResponsemutating; requires the verified admin scope claim
agent_config.set_llm_providerPOST /v1/agent_config/set_llm_provideragent config — adminAgentConfigSetLLMProviderRequestAgentConfigSetLLMProviderResponsemutating; requires the verified admin scope claim
agent_config.set_mcp_discovery_originsPOST /v1/agent_config/set_mcp_discovery_originsagent config — adminAgentConfigSetMCPDiscoveryOriginsRequestAgentConfigSetMCPDiscoveryOriginsResponsemutating; requires the verified admin scope claim
agent_config.set_oauth_providerPOST /v1/agent_config/set_oauth_provideragent config — adminAgentConfigSetOAuthProviderRequestAgentConfigSetOAuthProviderResponsemutating; requires the verified admin scope claim
agent_config.set_prompt_layersPOST /v1/agent_config/set_prompt_layersagent config — adminAgentConfigSetPromptLayersRequestAgentConfigSetPromptLayersResponsemutating; requires the verified admin scope claim
agent_config.set_revisionPOST /v1/agent_config/set_revisionagent config — adminAgentConfigSetRevisionRequestAgentConfigSetRevisionResponsemutating; requires the verified admin scope claim
agent_config.set_tool_exposurePOST /v1/agent_config/set_tool_exposureagent config — adminAgentConfigSetToolExposureRequestAgentConfigSetToolExposureResponsemutating; requires the verified admin scope claim
agent_config.skills.deletePOST /v1/agent_config/skills/deleteagent config — adminAgentConfigSkillsDeleteRequestAgentConfigSkillsDeleteResponsemutating; requires the verified admin scope claim
agent_config.skills.listPOST /v1/agent_config/skills/listagent config — adminAgentConfigSkillsListRequestAgentConfigSkillsListResponseread-only; requires the verified admin scope claim
agent_config.skills.upsertPOST /v1/agent_config/skills/upsertagent config — adminAgentConfigSkillsUpsertRequestAgentConfigSkillsUpsertResponsemutating; requires the verified admin scope claim
agent_config.user.diffPOST /v1/agent_config/user/diffagent config — userAgentConfigUserDiffRequestAgentConfigUserDiffResponseread-only; identity-mandatory; requires the verified agent_config:user scope claim (NOT admin — the durable per-user variant tier)
agent_config.user.getPOST /v1/agent_config/user/getagent config — userAgentConfigUserGetRequestAgentConfigUserGetResponseread-only; identity-mandatory; requires the verified agent_config:user scope claim (NOT admin — the durable per-user variant tier)
agent_config.user.list_revisionsPOST /v1/agent_config/user/list_revisionsagent config — userAgentConfigUserListRevisionsRequestAgentConfigUserListRevisionsResponseread-only; identity-mandatory; requires the verified agent_config:user scope claim (NOT admin — the durable per-user variant tier)
agent_config.user.rollbackPOST /v1/agent_config/user/rollbackagent config — userAgentConfigUserRollbackRequestAgentConfigUserRollbackResponsemutating; identity-mandatory; requires the verified agent_config:user scope claim (NOT admin — the durable per-user variant tier)
agent_config.user.set_revisionPOST /v1/agent_config/user/set_revisionagent config — userAgentConfigUserSetRevisionRequestAgentConfigUserSetRevisionResponsemutating; identity-mandatory; requires the verified agent_config:user scope claim (NOT admin — the durable per-user variant tier)
agent_config.user.skills.deletePOST /v1/agent_config/user/skills/deleteagent config — sessionAgentConfigUserSkillsDeleteRequestAgentConfigUserSkillsDeleteResponsemutating; identity-mandatory; does NOT require the admin scope (the session-user safe subset)
agent_config.user.skills.listPOST /v1/agent_config/user/skills/listagent config — sessionAgentConfigUserSkillsListRequestAgentConfigUserSkillsListResponseread-only; identity-mandatory; does NOT require the admin scope (the session-user safe subset)
agent_config.user.skills.upsertPOST /v1/agent_config/user/skills/upsertagent config — sessionAgentConfigUserSkillsUpsertRequestAgentConfigUserSkillsUpsertResponsemutating; identity-mandatory; does NOT require the admin scope (the session-user safe subset)

Apache-2.0 licensed — see LICENSE.