FocusSessions
The FocusSessions 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.
workspaceId?stringprojectId?stringstatus?string"active""paused""forming""scheduled""closed""failed""cancelled""stale""all"lens?string"default""triage""all"kind?string"work""run""receipt""all"playbookId?stringuuidautomationId?stringuuidsubjectEntityId?stringuuidsubjectProfileSlug?string1 <= lengthlimit?integer1 <= value <= 50Sessions
application/json- response
[index: integer]?curl -X GET 'https://pod.example.com/api/hub/focus-sessions'[ { "id": "string", "workspaceId": "string", "projectId": "string", "userId": "string", "correlationId": "string", "title": "string", "goal": "string", "status": "string", "templateId": "string", "expectedOutputs": null, "channelId": "string", "progress": 0, "currentStage": "string", "agentIds": [ "string" ], "closedAt": "string", "verificationReport": null, "metadata": null, "startedAt": "string", "createdAt": "string", "updatedAt": "string", "kind": "work" }]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?string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iuuidprojectId?string1 <= lengthtrackId?stringuuidtrackStage?string1 <= length <= 120userId*string1 <= lengthtitle?stringlength <= 200goal*string1 <= length <= 2000correlationId?stringtemplateId?string|nullparams?outcomes?array<>items <= 40expectedOutputs?array<>criteria?array<unknown>channelId?stringuuidagentIds?array<string>subjectEntityId?stringuuidparentSessionId?stringuuidsuspendedIntent?string1 <= length <= 2000blockedBySessionIds?array<>items <= 20forceCreate?booleanCreated or existing session
application/json- response
id*stringworkspaceId*string|nullprojectId*string|nulluserId*stringcorrelationId*string|nulltitle*string|nullgoal*stringstatus*stringtemplateId*string|nullexpectedOutputs?unknownchannelId*string|nullprogress*number|nullcurrentStage*string|nullagentIds*array<string>closedAt*string|nullverificationReport?unknownmetadata?unknownstartedAt*stringcreatedAt*stringupdatedAt*stringkind?string"work""run""receipt"curl -X POST 'https://pod.example.com/api/hub/focus-sessions' \ -H 'Content-Type: application/json' \ -d '{ "userId": "string", "goal": "string"}'{ "id": "string", "workspaceId": "string", "projectId": "string", "userId": "string", "correlationId": "string", "title": "string", "goal": "string", "status": "string", "templateId": "string", "expectedOutputs": null, "channelId": "string", "progress": 0, "currentStage": "string", "agentIds": [ "string" ], "closedAt": "string", "verificationReport": null, "metadata": null, "startedAt": "string", "createdAt": "string", "updatedAt": "string", "kind": "work"}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.
id*stringuuidworkspaceId?stringSession
application/json- response
id*stringworkspaceId*string|nullprojectId*string|nulluserId*stringcorrelationId*string|nulltitle*string|nullgoal*stringstatus*stringtemplateId*string|nullexpectedOutputs?unknownchannelId*string|nullprogress*number|nullcurrentStage*string|nullagentIds*array<string>closedAt*string|nullverificationReport?unknownmetadata?unknownstartedAt*stringcreatedAt*stringupdatedAt*stringkind?string"work""run""receipt"curl -X GET 'https://pod.example.com/api/hub/focus-sessions/:id'{ "id": "string", "workspaceId": "string", "projectId": "string", "userId": "string", "correlationId": "string", "title": "string", "goal": "string", "status": "string", "templateId": "string", "expectedOutputs": null, "channelId": "string", "progress": 0, "currentStage": "string", "agentIds": [ "string" ], "closedAt": "string", "verificationReport": null, "metadata": null, "startedAt": "string", "createdAt": "string", "updatedAt": "string", "kind": "work"}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.
id*stringuuidapplication/json- body
workspaceId?string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iuuidstatus?string"active""paused""forming""scheduled""closed""failed""cancelled"progress?integer0 <= value <= 100channelId?stringuuidcorrelationId?stringtitle?|length <= 200goal?string1 <= length <= 2000agentIds?array<string>addAgentId?string1 <= lengthoutcomes?array<>items <= 40expectedOutputs?array<>verificationReport?unknowncurrentStage?string1 <= lengthsubjectEntityId?|uuidmetadata?criteria?array<>items <= 12followPlaybookId?|uuidfollowStageKey?|1 <= lengthparams?trackId?|uuidtrackStage?|1 <= length <= 120agentUserId?stringuuidreasoning?stringUpdated session
application/json- response
id*stringworkspaceId*string|nullprojectId*string|nulluserId*stringcorrelationId*string|nulltitle*string|nullgoal*stringstatus*stringtemplateId*string|nullexpectedOutputs?unknownchannelId*string|nullprogress*number|nullcurrentStage*string|nullagentIds*array<string>closedAt*string|nullverificationReport?unknownmetadata?unknownstartedAt*stringcreatedAt*stringupdatedAt*stringkind?string"work""run""receipt"curl -X PATCH 'https://pod.example.com/api/hub/focus-sessions/:id' \ -H 'Content-Type: application/json' \ -d '{}'{ "id": "string", "workspaceId": "string", "projectId": "string", "userId": "string", "correlationId": "string", "title": "string", "goal": "string", "status": "string", "templateId": "string", "expectedOutputs": null, "channelId": "string", "progress": 0, "currentStage": "string", "agentIds": [ "string" ], "closedAt": "string", "verificationReport": null, "metadata": null, "startedAt": "string", "createdAt": "string", "updatedAt": "string", "kind": "work"}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.
id*stringuuidapplication/json- body
summary?stringverificationReport?terminalStatus?string"closed""cancelled""failed"Closed session + proposal pack
application/json- response
[key: string]?unknowncurl -X POST 'https://pod.example.com/api/hub/focus-sessions/:id/complete' \ -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.
id*stringuuidapplication/json- body
kind*string"view""cell""document""entity""url""automation""playbook"refId*string1 <= lengthlabel?string1 <= length <= 500expectedLabel?string1 <= length <= 500workspaceId?stringuuidRecorded
application/json- response
ok*booleanoutputId*stringcurl -X POST 'https://pod.example.com/api/hub/focus-sessions/:id/outputs' \ -H 'Content-Type: application/json' \ -d '{ "kind": "view", "refId": "string"}'{ "ok": true, "outputId": "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.
id*stringuuidapplication/json- body
expectedLabel*string1 <= length <= 500agentType?string1 <= length <= 100Delegated
application/json- response
ok*booleanexpectedLabel*stringkind*stringagentType*stringchannelId*stringmessageId*stringtriggered*booleanagentAttached*booleancurl -X POST 'https://pod.example.com/api/hub/focus-sessions/:id/outputs/delegate' \ -H 'Content-Type: application/json' \ -d '{ "expectedLabel": "string"}'{ "ok": true, "expectedLabel": "string", "kind": "string", "agentType": "string", "channelId": "string", "messageId": "string", "triggered": true, "agentAttached": 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.
id*stringuuidapplication/json- body
expectedLabel*string1 <= length <= 500blockedReason*string"credential""permission""capability""policy""decision""physical"why?stringlength <= 500ref?||nullask?|||||nullBlocked on the human
application/json- response
ok*booleanexpectedLabel*stringkind*stringblockGuidelines?unknowncurl -X POST 'https://pod.example.com/api/hub/focus-sessions/:id/outputs/block' \ -H 'Content-Type: application/json' \ -d '{ "expectedLabel": "string", "blockedReason": "credential"}'{ "ok": true, "expectedLabel": "string", "kind": "string", "blockGuidelines": 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.
id*stringuuidapplication/json- body
expectedLabel*string1 <= length <= 500Reclaimed
application/json- response
ok*booleanexpectedLabel*stringkind*stringcurl -X POST 'https://pod.example.com/api/hub/focus-sessions/:id/outputs/unblock' \ -H 'Content-Type: application/json' \ -d '{ "expectedLabel": "string"}'{ "ok": true, "expectedLabel": "string", "kind": "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.
id*stringuuidapplication/json- body
expectedLabel*string1 <= length <= 500text?stringlength <= 4000value?||||askFingerprint?string1 <= length <= 64expectedGranteeId?string1 <= length <= 200Answered
application/json- response
ok*booleanexpectedLabel*stringkind*stringanswer?unknownhandedBack*booleanmessageId*string|nullquestionId*string|nullwokeAgentType*string|nulltriggered*booleandecision?unknowncurl -X POST 'https://pod.example.com/api/hub/focus-sessions/:id/outputs/answer' \ -H 'Content-Type: application/json' \ -d '{ "expectedLabel": "string"}'{ "ok": true, "expectedLabel": "string", "kind": "string", "answer": null, "handedBack": true, "messageId": "string", "questionId": "string", "wokeAgentType": "string", "triggered": true, "decision": 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.
id*stringuuidsince?stringtimeoutSeconds?integer1 <= value <= 90limit?integer1 <= value <= 100Answered, or timed out
application/json- response
status*string"answered""timeout"sessionId*stringsince*string|nullanswers?array<unknown>nextSince*string|nullhasMore?booleanwaitedSeconds?numbercurl -X GET 'https://pod.example.com/api/hub/focus-sessions/:id/answers/wait'{ "status": "answered", "sessionId": "string", "since": "string", "answers": [ null ], "nextSince": "string", "hasMore": true, "waitedSeconds": 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.
id*stringuuidsince?stringlimit?integer1 <= value <= 100A page of answers
application/json- response
sessionId*stringsince*string|nullanswers*array<unknown>nextSince*string|nullhasMore*booleancurl -X GET 'https://pod.example.com/api/hub/focus-sessions/:id/answers'{ "sessionId": "string", "since": "string", "answers": [ null ], "nextSince": "string", "hasMore": true}