Docs

MCP Server Mesh — API Reference

HTTP endpoints served by the data-plane for this capability (52 endpoints). 1 response schemas could not be derived from source and are recorded as unknown.

Endpoints

GET /api/dp/v1/catalog/agent-versions
response type
ListResponse[AgentVersion]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/agent-versions
response type
*AgentVersion
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/agents
response type
ListResponse[Agent]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/agents
response type
*Agent
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
DELETE /api/dp/v1/catalog/agents/{id}
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/agents/{id}
response type
*Agent
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
PATCH /api/dp/v1/catalog/agents/{id}
response type
*Agent
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/agents/{id}/api-key
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)

Not available yet: response is an untyped map[string]string; field-level shape is not derivable from source

POST /api/dp/v1/catalog/agents/{id}/approve
response type
*Agent
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/agents/{id}/block
response type
*Agent
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
PUT /api/dp/v1/catalog/agents/{id}/roles
description
updateAgentRoles replaces an agent's role assignment list. Body is a JSON array of role names: ["developer", "release-bot"]. Empty array clears all assignments. Role names should match what the IdP exposes; UI is responsible for picking from /api/identity/roles to avoid typos.
response type
*Agent
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/applications
response type
ListResponse[Application]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/applications
response type
*Application
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
DELETE /api/dp/v1/catalog/applications/{id}
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/applications/{id}
response type
*Application
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/columns
response type
ListResponse[Column]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/columns
response type
*Column
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/datasets
response type
ListResponse[Dataset]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/datasets
response type
*Dataset
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/datasets/{id}
response type
*Dataset
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/mcp-server-snapshots
response type
ListResponse[McpServerSnapshot]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/mcp-server-snapshots
response type
*McpServerSnapshot
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/mcp-servers
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/mcp-servers
response type
*McpServer
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/mcp-servers/protocol-version-counts
description
protocolVersionCounts — P0-SPEC-2026-S4. The order list is duplicated here (rather than imported from discovery) to keep the catalog module boundary clean — importing discovery from catalog would introduce a cycle (discovery already imports catalog). This list is a stable UI contract; both this handler and discovery.AllKnownSpecs must be updated together when adding a new spec version. The 000029 migration's CHECK constraint is the third place — the migration is the source of truth for storage, the mcpspec.go file is source of truth for behavior, and this handler is source of truth for display order.
response type
ListResponse[ProtocolVersionCount]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
DELETE /api/dp/v1/catalog/mcp-servers/{id}
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/mcp-servers/{id}
response type
*McpServer
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/mcp-servers/{id}/activity
response type
[]Activity
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/model-versions
response type
ListResponse[ModelVersion]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/model-versions
response type
*ModelVersion
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/model-versions/{id}
response type
*ModelVersion
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/prompt-templates
response type
ListResponse[PromptTemplate]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/prompt-templates
response type
*PromptTemplate
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/prompt-templates/{id}
response type
*PromptTemplate
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/resources
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/resources
response type
*Resource
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/resources/{id}
response type
*Resource
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/role-mappings
response type
ListResponse[RoleMapping]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/role-mappings
response type
*RoleMapping
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
DELETE /api/dp/v1/catalog/role-mappings/{id}
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/roles
response type
ListResponse[Role]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/roles
response type
*Role
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/roles/{id}
response type
*Role
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/source-repos
response type
ListResponse[SourceRepo]
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/source-repos
response type
*SourceRepo
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/tables
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/tables
response type
*Table
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/tables/{id}
response type
*Table
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/tools
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
POST /api/dp/v1/catalog/tools
response type
*Tool
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
GET /api/dp/v1/catalog/tools/{id}
response type
*Tool
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)
PATCH /api/dp/v1/catalog/tools/{id}/extractor
description
updateToolExtractor handles PATCH /tools/{id}/extractor — the focused per-tool extractor edit triggered from the tool detail card. The body shape is just `{"target_extractor": <jsonb>}`. Setting it to {} clears the extractor (gateway falls back to tool-level governance only for invocations of this tool).
response type
*Tool
middleware
dpmiddleware.DemoReadOnly, AuthMiddleware(...)

Verification

Route extraction agrees with the runtime chi.Walk census for this plane.
matched
207
runtime only
0