Workspaces
The Workspaces operations of the Hub REST API (12 operations).
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.
Workspaces accessible to the authenticated user
application/json- response
workspaces*array<>podEntityCount?numberCount of pod-scoped entities (workspaceId = null).
curl -X GET 'https://pod.example.com/api/hub/workspaces'{ "workspaces": [ { "id": "string", "name": "string", "entityCount": 0, "usedByProjectIds": [ "string" ], "provisioningStatus": "string", "failedStep": "string", "failedStepError": "string" } ], "podEntityCount": 0}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.
Workspace
curl -X GET 'https://pod.example.com/api/hub/workspaces/{workspaceId}'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*stringProvider routing policy
application/json- response
ok*booleanworkspaceId*stringeveProviderRouting*|nullcurl -X GET 'https://pod.example.com/api/hub/workspaces/string/eve-provider-routing'{ "ok": true, "workspaceId": "string", "eveProviderRouting": { "mode": "local", "defaultProvider": "ollama", "fallbackProvider": "ollama", "providers": [ { "id": "ollama", "enabled": true, "baseUrl": "string", "defaultModel": "string" } ], "syncToSynap": 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.
workspaceId*stringapplication/json- body
mode?string"local""provider""hybrid"defaultProvider?string"ollama""openrouter""anthropic""openai"fallbackProvider?string"ollama""openrouter""anthropic""openai"providers?array<>syncToSynap?booleanUpdated policy
application/json- response
ok*booleanworkspaceId*stringeveProviderRouting*|nullcurl -X PATCH 'https://pod.example.com/api/hub/workspaces/string/eve-provider-routing' \ -H 'Content-Type: application/json' \ -d '{}'{ "ok": true, "workspaceId": "string", "eveProviderRouting": { "mode": "local", "defaultProvider": "ollama", "fallbackProvider": "ollama", "providers": [ { "id": "ollama", "enabled": true, "baseUrl": "string", "defaultModel": "string" } ], "syncToSynap": 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.
workspaceId*stringapplication/json- body
sourceRoles?defaultSources?Merged edge fields
application/json- response
[key: string]?unknowncurl -X PATCH 'https://pod.example.com/api/hub/workspaces/string/source-edges' \ -H 'Content-Type: application/json' \ -d '{}'{ "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.
workspaceId*stringapplication/json- body
enabled*booleanroles*array<string>fields?array<string>Applied public-projection config
application/json- response
[key: string]?unknowncurl -X PATCH 'https://pod.example.com/api/hub/workspaces/string/public-projection' \ -H 'Content-Type: application/json' \ -d '{ "enabled": true, "roles": [ "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.
workspaceId*stringGovernance policy
application/json- response
[key: string]?unknowncurl -X GET 'https://pod.example.com/api/hub/workspaces/string/governance'{ "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.
workspaceId*stringWorkspace digest
application/json- response
[key: string]?unknowncurl -X GET 'https://pod.example.com/api/hub/workspaces/string/digest'{ "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.
userId*stringUser context
application/json- response
[key: string]?unknowncurl -X GET 'https://pod.example.com/api/hub/users/string/context'{ "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
agentUserId*stringuuidworkspaceId?stringuuidrole?string"viewer""editor""admin"List of workspace IDs the agent was enrolled into
application/json- response
enrolled*array<string>skipped*array<string>curl -X POST 'https://pod.example.com/api/hub/workspaces/enroll-agent' \ -H 'Content-Type: application/json' \ -d '{ "agentUserId": "f9abe370-14d5-447c-8b38-a304830fd620"}'{ "enrolled": [ "string" ], "skipped": [ "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.
application/json- body
agentUserId*stringuuidworkspaceName?stringidempotencyKey?stringWorkspace id and creation outcome
application/json- response
workspaceId*stringcreated*booleancurl -X POST 'https://pod.example.com/api/hub/workspaces/provision-agent' \ -H 'Content-Type: application/json' \ -d '{ "agentUserId": "f9abe370-14d5-447c-8b38-a304830fd620"}'{ "workspaceId": "string", "created": 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.
application/json- body
proposalId?string1 <= lengthworkspaceName?stringtemplateId?stringtemplateName?stringworkspaceType?string"personal""agent""project""operational"ownerUserId?string[key: string]?unknownWorkspace id and creation outcome
application/json- response
workspaceId*stringcreated*booleancurl -X POST 'https://pod.example.com/api/hub/workspaces/from-definition' \ -H 'Content-Type: application/json' \ -d '{ "property1": null, "property2": null}'{ "workspaceId": "string", "created": true}