System
The System operations of the Hub REST API (13 operations).
OK
application/json- response
status*stringservice*stringschemaHash*stringcurl -X GET 'https://pod.example.com/api/hub/health'{ "status": "string", "service": "string", "schemaHash": "string"}curl -X GET 'https://pod.example.com/api/hub/manifest'bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
userId*string1 <= lengthworkspaceId?stringuuidsummary?string"true""false"profileSlugs?stringComma-separated profile slugs to return with property schemas, e.g. task,person. Omit to load every profile schema.
sort?string"usage""name"groups?"origin""origin"fill?string"true""false"Discovery payload
application/json- response
relationTypes?array<>relationTypesError?stringprofiles*array<>commands*hint*stringcurl -X GET 'https://pod.example.com/api/hub/discover?userId=string'{ "relationTypes": [ { "slug": "string", "displayName": "string", "description": "string", "isDirectional": true, "inverseLabel": "string", "workspaceId": "string" } ], "relationTypesError": "string", "profiles": [ { "id": "string", "slug": "string", "displayName": "string", "scope": "pod", "visibility": "system", "description": "string", "icon": "string", "profileKind": "kind", "applicableKinds": [ "string" ], "properties": [ { "slug": "string", "displayName": "string", "type": "string", "options": [ "string" ], "required": true, "defaultValue": null, "constraints": { "property1": null, "property2": null }, "targetProfileSlug": "string", "schemaScope": "base", "workspaceId": "string", "displayOrder": 0, "uiHints": { "property1": null, "property2": null }, "fill": { "filled": 0, "sampleSize": 0 } } ], "schemaUnavailable": { "reason": "slug-resolves-to-another-row", "resolvedProfileId": "string", "hint": "string" }, "slugWritesTo": { "reason": "slug-resolves-to-another-row", "profileId": "string", "hint": "string" }, "createCommand": "string", "entityCount": 0 } ], "commands": { "property1": "string", "property2": "string" }, "hint": "string"}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Lens map
application/json- response
[key: string]?unknowncurl -X GET 'https://pod.example.com/api/hub/orient'{ "property1": null, "property2": null}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Pod configuration
application/json- response
[key: string]?unknowncurl -X GET 'https://pod.example.com/api/hub/pod/config'{ "property1": null, "property2": null}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
workspaceId*stringuuidtemplateSlug*string1 <= lengthAdopted
application/json- response
[key: string]?unknowncurl -X POST 'https://pod.example.com/api/hub/pod/adopt' \ -H 'Content-Type: application/json' \ -d '{ "workspaceId": "ef0efa32-d1c1-43d4-a5e2-fe7b4f00403c", "templateSlug": "string"}'{ "property1": null, "property2": null}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
assertion*string1 <= lengthStored
application/json- response
ok*truetruecurl -X POST 'https://pod.example.com/api/hub/federation/oidc-config' \ -H 'Content-Type: application/json' \ -d '{ "assertion": "string"}'{ "ok": true}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Resolved type information
application/json- response
type*stringBrowser-routable label for the given ID — an object-nav.ts case label, one of: agent, automation, capability, channel, document, entity, playbook, project, proposal, run, session, skill, tool, view, workspace, unknown. Never a free string: see resolve-browser-route.ts.
id*stringThe id to open (may differ from the queried id)
displayName?string|nullworkspaceId?string|nullupdatedAt?|When the object last changed (ISO 8601); null if untracked
profileSlug?string|nullopenable*booleanWhether type names a surface the browser can open
params?curl -X GET 'https://pod.example.com/api/hub/resolve/{id}'{ "type": "string", "id": "string", "displayName": "string", "workspaceId": "string", "updatedAt": "string", "profileSlug": "string", "openable": true, "params": { "property1": "string", "property2": "string" }}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
kind*stringname*stringsubtype?stringMatches
application/json- response
matches*array<>unique*booleancurl -X GET 'https://pod.example.com/api/hub/resolve?kind=string&name=string'{ "matches": [ { "kind": "string", "id": "string", "name": "string", "subtype": "string", "workspaceId": "string" } ], "unique": true}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Graph envelope
application/json- response
object*neighbors*array<>counts*found*booleancurl -X GET 'https://pod.example.com/api/hub/graph/{type}/{id}'{ "object": { "kind": "string", "id": "string", "name": "string", "subtype": "string", "subtypes": [ "string" ], "workspaceId": "string" }, "neighbors": [ { "kind": "string", "id": "string", "name": "string", "subtype": "string", "subtypes": [ "string" ], "workspaceId": "string", "edgeType": "string", "direction": "outgoing", "via": "links" } ], "counts": { "total": 0, "byKind": { "property1": 0, "property2": 0 }, "byVia": { "property1": 0, "property2": 0 } }, "found": true}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Centrality status
application/json- response
computed*booleanrows*numberlastComputedAt*string|nulloldestComputedAt*string|nulltop*array<>note?stringcurl -X GET 'https://pod.example.com/api/hub/centrality/status'{ "computed": true, "rows": 0, "lastComputedAt": "string", "oldestComputedAt": "string", "top": [ { "id": "string", "title": "string", "score": 0 } ], "note": "string"}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Recompute enqueue result
application/json- response
triggered*booleannote?stringcurl -X POST 'https://pod.example.com/api/hub/centrality/recompute'{ "triggered": true, "note": "string"}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
workspaceId?stringResolve the IS as this workspace would — matches the routing a capture from that workspace gets. Omit for pod-level resolution.
uuidDependency report. 200 even when a dependency is down — read status.
application/json- response
status*string"ok""degraded"service*"hub-protocol""hub-protocol"checkedAt*stringresolution*dependencies*array<>curl -X GET 'https://pod.example.com/api/hub/health/dependencies'{ "status": "ok", "service": "hub-protocol", "checkedAt": "string", "resolution": { "workspaceId": "string", "capability": "string" }, "dependencies": [ { "name": "intelligence-service", "state": "reachable", "reachable": true, "reason": "string", "endpoint": "string", "serviceId": "string", "httpStatus": 0, "latencyMs": 0 } ]}