Request
Query parameters
Rows are ordered by
created_at descending — newest capability first.
These are the only two parameters this endpoint accepts. There is no
type, namespace, or search filter — filter client-side on the returned
rows.Response
The payload is wrapped in adata envelope. There is no total count and no
echo of limit / offset.
Row fields
The specifications object
specifications is a tagged union. Its type field is one of plugin,
builtin, or connector, and the remaining fields depend on that tag.
type: plugin
type: plugin
Carries
active_version and the list of uploaded versions. A newly
registered plugin has active_version: 0, meaning no version has been
activated yet — tool dispatch against it fails until one is.type: builtin
type: builtin
Carries
kind, sort_order, and config — not just kind — plus
metadata when set. kind is one of Files, WebSearch, HttpClient,
KnowledgeRetrieval, CodeRunner, Sandbox, Computer, Browser,
PluginBuilder, SkillBuilder, Memory. All eleven are
seeded into every account at signup.Sandbox also deserializes from the legacy name VirtualMachine.type: connector
type: connector
A REST connector, an MCP registry server, or a custom MCP server.
Namespaces and tool names
namespace is the prefix a capability’s tools carry on the wire. The wire name
is {namespace}_{tool} — a single underscore, no double underscore.
The namespaces seeded for the eleven built-ins are:
Namespaces are unique per account. The eleven above are what an account is
seeded with at signup; plugin and connector namespaces are assigned per
capability. Read
namespace off the row rather than assuming it — that is
what this endpoint is for.
Status codes
See Errors and rate limits for why
credential failures return 403 rather than 401 on this surface.
Scope of this endpoint
This is a read-only listing. There is noPOST, PATCH, or DELETE on
/v1/capabilities, and no GET /v1/capabilities/{id}. Creating, editing, and
deleting capabilities happens in the Portal, with
one exception: plugin upload registers a new
plugin version over the API.
That is a statement about this collection, not about the management API as a
whole — other parts of the API do accept writes. See
API Overview for what the surface covers.